IRB可以告诉我类/对象/变量/方法的范围吗?
例如puts
。
我想像describe puts
之类的东西会输出信息,这些信息是一个对象的方法,也可能是它的源位置。
答案 0 :(得分:0)
对于在Kernel
/ Object
上定义的方法,可以使用:
method :puts
#⇒ #<Method: Object(Kernel)#puts>
对于未在任何地方包含的模块/类上定义的方法,需要完全限定名称:
Integer.instance_method :to_s
#⇒ #<UnboundMethod: Integer#to_s>
对于在ruby中定义的方法(不在c中),也可以查询源位置:
URI.method(:split).source_location
#⇒ ["/path_to_ruby/uri/common.rb", 192]