circuitpython/tests/cpydiff/core_locals_eval.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

17 lines
469 B
Python
Raw Normal View History

"""
categories: Core,Runtime
description: Code running in eval() function doesn't have access to local variables
cause: MicroPython doesn't maintain symbolic local environment, it is optimized to an array of slots. Thus, local variables can't be accessed by a name. Effectively, ``eval(expr)`` in MicroPython is equivalent to ``eval(expr, globals(), globals())``.
workaround: Unknown
"""
val = 1
2021-03-15 09:57:36 -04:00
def test():
val = 2
print(val)
eval("print(val)")
2021-03-15 09:57:36 -04:00
test()