Ruby 获取 BasicObject 实例的 binding

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

想得到一个 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 }
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号