对象的方法,我有点困惑从红宝石(1.9)解释得到红宝石
class Foo
def pub
private_thing
end
private
def private_thing
puts "private touch"
end
end
x = Foo.new
x.pub
private touch
=> nil
到目前为止好这种行为。
x.private_thing
NoMethodError: private method `private_thing' called for #<Foo:0xb76abd34>
from (irb):25
from :0
还行。这就是我所期望的
但为什么这是空的?
x.methods(false)
=> []
虽然这给了我所期待的?
Foo.instance_methods(false)
=> ["pub"]