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?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage