mirror of
https://github.com/micropython/micropython.git
synced 2025-09-07 02:10:52 +02:00
Viper functions will now capture the globals at the point they were defined and use these globals when executing.
20 lines
317 B
Python
20 lines
317 B
Python
# test that viper functions capture their globals context
|
|
|
|
gl = {}
|
|
|
|
exec("""
|
|
@micropython.viper
|
|
def f():
|
|
return x
|
|
""", gl)
|
|
|
|
# x is not yet in the globals, f should not see it
|
|
try:
|
|
print(gl['f']())
|
|
except NameError:
|
|
print('NameError')
|
|
|
|
# x is in globals, f should now see it
|
|
gl['x'] = 123
|
|
print(gl['f']())
|