比如,想查看某个 method 是 instance method 还是 class method,是 private 还是 public,除了用 Object 提供的类似调用 Object.instance_methods.grep /xxx/ 的方法间接查找外,有没有针对 method 本身的方法,可以详细的查看某个 method 的属性?
谢谢。
文档里的信息够用么: http://ruby-doc.org/core-2.4.1/Method.html
谢谢指点! 通过对文档里的 inspect 方法的返回值(AClass.method 或者 AClass#method)进行判断,可以用来区分 class method 还是 instance method。 但是,如果要判断 public 还是 private,似乎没提供直接的方法。
如果你把这个页面里所有的方法名 ( http://ruby-doc.org/core-2.4.1/Method.html#method-list-section ) 都看一遍,你会发现有个方法叫做 #owner。也许方法所属的 class / module 处会有更多的关于可见性的信息,值得你继续调查下去。
#owner