Ruby是一种面向对象的语言。这意味着无论我发送什么消息,我都严格按照类的某个对象/实例发送它。
示例:
class Test
def test1
puts "I am in test1. A public method"
self.test2
end
def test2
puts "I am in test2. A public Method"
end
end
我在test2
对象上调用方法self
很有道理>>
但是我不能这样做
class Test def test1 puts "I am in test1. A public method" self.test2 # Don't work test2 # works. (where is the object that I am calling this method on?) end private def test2 puts "I am in test2. A private Method" end end
[当
test2
为public method
时,我可以在self
上调用它(很公平,这是一种发送给self对象的方法)。但是当test2
为private method
时,我无法自行调用。那么我要发送方法的对象在哪里?
Ruby是一种面向对象的语言。这意味着无论我发送什么消息,我都严格按照类的某些对象/实例发送它。示例:类Test def test1将“我在test1中。A...
我要在其上发送方法的对象在哪里
[self
表示您所在的对象的当前实例。
[在Ruby 2.7中已更改(2019年12月):self.foo()
现在对私有方法foo
也有效。