Por que o Ruby não permite que eu especifique eu como um receptor dentro de um método privado?
Ruby como uma linguagem orientada a objetos. O que isso significa é que qualquer mensagem que eu enviar, eu enviá-lo estritamente em algum objeto / instância de classe.
Exemplo:
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
faz sentido eu chamo métodotest2
emself
objeto
Mas eu não posso fazer isso
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
Quandotest2
épublic method
Eu posso ligarself
(bastante justo, um método enviado para auto objeto). Mas quandotest2
éprivate method
Eu não posso chamá-lo em si mesmo. Então, onde está o objeto no qual estou enviando o método?