Написание чего-то похожего на шаблонизатор, и я хотел бы включить файлы для добавления переменных в базовый файлВещи не работают, как ожидалось, хотя.Мои наблюдения eval
таковы:
[23] pry(main)> b = binding
=> #<Binding:0x000055ca9d13ad68>
[24] pry(main)> eval('eval("ddd=1", b); ddd', b)
NameError: undefined local variable or method `ddd' for main:Object
from (pry):1:in `__pry__'
[25] pry(main)> eval('eval("ddd=1", b); ddd', b)
=> 1
Почему первый вызов не удался?Я ожидал, что вложенный eval
установит переменную в привязке, и тогда она будет видна снаружи.На самом деле это видно в привязке только после.
Любой совет, как разрешить вложенным eval
устанавливать переменные, доступные из кода внешнего eval
?