Почему 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
(Достаточно справедливо, метод отправлен самому объекту). Но когдаtest2
являетсяprivate method
Я не могу назвать это на себя. Так где же объект, на который я отправляю метод?