新手问题 ruby 2.0.0 和 1.9.3 函数区别

neffoor · September 08, 2013 · Last by neffoor replied at September 08, 2013 · 3695 hits

打开 irb,直接定义一个 def aaa;end

ruby 2.0.0 时 self.methods 或 Object.instance_methods 中没有 [:aaa]

1.9.3 的 self.methods 或 Object.instance_methods 中有 [:aaa] 而且 1.9.3 这样定义后,所有对象都有了这个方法。

这个怎么理解?这样定义的方法算是 Oject 的实例方法吗,2.0.0 下是定义在哪里的?

try self.private_methods methods 貌似改成不显示 private 的了

我发现用 pry aaa 就在 private_methods 里面,用 irb 就在 public_methods 里面,看来这两个处理还有区别 ruby 1.9.3

谢谢 jjym,2.0.0 中 self.private_methods 里有了。刚刚试验了下,2.0.0 先调用 public,就和 1.9.3 一样了。应该是 2.0.0 中默认定义方法是 private 的。

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