加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在BasicObject中的ruby – binding.pry

发布时间:2020-12-17 04:24:14 所属栏目:百科 来源:网络整理
导读:pry非常适合调试BasicObject的子类! https://github.com/pry/pry说撬具有: “外来对象支持(BasicObject实例……” 但是怎么做呢? 可以预料,BasicObject不理解绑定. NameError: undefined local variable or method `binding' for #C30Course:0xbefbc0c 调
pry非常适合调试BasicObject的子类!

https://github.com/pry/pry说撬具有:
“外来对象支持(BasicObject实例……”

但是怎么做呢?
可以预料,BasicObject不理解绑定.

NameError:
   undefined local variable or method `binding' for #<C30Course:0xbefbc0c>

调用method_missing时,何处发送绑定?

解决方法

您需要直接在Kernel上调用绑定方法,如下所示:
[13] pry(main)> class O < BasicObject
              |   def hi
              |     x = 10
              |     ::Kernel.binding.pry
              |   end  
              | end  
=> nil
[14] pry(main)> O.new.hi

From: (pry) @ line 19 O#hi:

    17: def hi
    18:   x = 10
 => 19:   ::Kernel.binding.pry
    20: end

[1] pry(unknown)> x
=> 10
[2] pry(unknown)> self
=> #<O:0x3fd5310d04f8>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读