Ruby使您能够跟踪在运行时定义方法的文件和行。所以,例如,如果你有一个名为" obj"它能够调用方法" do_something",你可以跟踪它的定义(在ruby 1.9及以上版本中):
obj.method(:do_something).source_location
groovy有没有相同的能力?我试图找出定义方法的位置,但这证明非常困难。
感谢您的帮助。
答案 0 :(得分:1)
groovy有没有相同的能力?
没有。你不能询问一个对象,并问一个类似&#34的问题;如果我调用save方法并且不传递任何参数,那么哪个文件包含实际调用的save方法的定义以及该定义的行号。 #34 ;.语言和运行时都没有专门为此提供设施。你可以做一些事情,比如询问堆栈,找出来电的来源,但这不是这里要问的。我认为你的问题的答案是"没有"。