如何获取主绑定?换句话说,在下面的代码中,我怎样才能让eval
忽略以前在some_codes
...... some_codes
中所做的所有赋值等等?如何在主绑定中运行eval
some_codes
...
some_codes
eval(string_to_be_executed, binding)
如何获取主绑定?换句话说,在下面的代码中,我怎样才能让eval
忽略以前在some_codes
...... some_codes
中所做的所有赋值等等?如何在主绑定中运行eval
some_codes
...
some_codes
eval(string_to_be_executed, binding)
最简单的方法是只创建该文件的顶部的结合:
block = Proc.new{}
# some_codez
# ...
# some more of teh codez
eval(string_to_be_evaluated, block.binding)
我终于实现了这一点,这似乎比本的答案,我接受稍微优雅。
在第一个文件的开头要加载,分配是这样的:
$main_binding = binding
然后,在必要的时候,我可以用它喜欢:
eval(string_to_be_evaluated, $main_binding)
你能告诉我们你的实际代码? “'some_codes'”无助于我们理解你在这里做什么。 – 2012-03-03 04:13:53
我不认为你理解我的问题。 – sawa 2012-03-03 05:57:50