Ruby 获取 BasicObject 实例的 binding

Niatruc · 2018年12月16日 · 338 次阅读

想得到一个BasicObject的实例的binding,但是BasicObject的实例方法中没有binding,于是下面的代码行不通:

bo = BasicObject.new

bo.instance_exec { binding } #=> NameError: undefined local variable or method `binding' for #<BasicObject:0x2e570ded>

https://bugs.ruby-lang.org/issues/5360 这个帖子里得到了解决方法:

bo.instance_exec { ::Kernel.binding }
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册