Warum erlaubt mir Ruby nicht, mich selbst als Empfänger in einer privaten Methode anzugeben?
Ruby als objektorientierte Sprache. Was das bedeutet, ist, welche Nachricht ich auch immer sende, ich sende sie streng auf ein Objekt / eine Instanz einer Klasse.
Beispiel:
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
Sinnvoll nenne ich Methodetest2
aufself
Objekt
Das kann ich aber nicht
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
Wanntest2
istpublic method
Ich kann es anrufenself
(Fair genug, eine Methode, die an self object gesendet wird). Aber wenntest2
istprivate method
Ich kann es nicht selbst nennen. Also, wo ist das Objekt, auf dem ich die Methode sende?