瞎扯淡 为什么是 binding.pry 而不是 pry.binding?

046569 · November 07, 2013 · Last by gaicitadie replied at November 07, 2013 · 2818 hits

也包括 binding.pry_remote,经常写反,设计的初衷是什么?

1 Floor has deleted

因为 patch binding 对象会很方便:

 irb
2.0.0p247 :001 > x = 1
 => 1
2.0.0p247 :002 > eval("x", binding)
 => 1

这个就满足大部分 pry 的需求了... 主要也是获取 binding 内的各种值。连 eval 都赠送了..

#3 楼 @Saito 还有就是 eval("x", binding) 不如 binding.eval("x") OO, pry 同理

从实现上看,message receiver (点号左边或者 self) 不需要做类型检查,message param (方法右边) 却要做类型检查 -- 运行变慢,代码更多,更容易出类型不匹配的错误

#2 楼 @luikore #3 楼 @Saito 感谢解惑 #1 楼 @Juanito 明显不顺啊,你先让绑定,所有人都在那等着到底叫谁,不如先叫 Pry,只有它一个人在等待比较好。

#5 楼 @046569 是的,不好意思,請看 2-4 樓的專業回復。

#4 楼 @luikore 这是一个 this 是谁的问题..

最近 coffee 写多了...

initailize()
initailize this, arguments

所以就 eval 了。

这是病,得电...

涨知识了,感谢 2 楼分享

You need to Sign in before reply, if you don't have an account, please Sign up first.