大佬教程收集整理的这篇文章主要介绍了红宝石 – 任何方式来确定哪个对象叫做方法?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如何确定调用对象 – 哪个对象称为我目前的方法?
binding_of_caller
gem允许您在调用堆栈上的任何调用者(呼叫者,呼叫者的呼叫者等)的上下文中执行代码.在开发中检查(在调用堆栈上的任何位置读取任何位置)调用堆栈是有用的,如
better_errors
所用.
我应该提到,这种技术只能用于调试,乐趣或教育目的,因为它违反了OOP的原则.
主要是因为eval.
我们准备的东西:
require 'binding_of_caller' # I assume,you installed this gem already?
获取立即(最接近堆栈,因此0)调用者实例:
binding.of_caller(0).eval('self')
…甚至是即时通话方式:
binding.of_caller(0).eval('__method__')
如果您需要更高的调用堆栈,请使用0以外的数字来获取调用者的绑定.
太可笑了但是如果你真的需要这个,那你就去.
以上是大佬教程为你收集整理的红宝石 – 任何方式来确定哪个对象叫做方法?全部内容,希望文章能够帮你解决红宝石 – 任何方式来确定哪个对象叫做方法?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。