Wenn self ist der Standard-Empfänger in Ruby und Sie 'puts' in einer Instanz Methodendefinition aufrufen, ist eine Instanz des Objekts der Empfänger dieses Aufrufs?Ruby self und puts
z.
class MyClass
attr_accessor :first_name, :last_name, :size
# initialize, etc (name = String, size = int)
def full_name
fn = first_name + " " + last_name
# so here, it is implicitly self.first_name, self.last_name
puts fn
# what happens here? puts is in the class IO, but myClass
# is not in its hierarchy (or is it?)
fn
end
end
Sehr guter Punkt. Was ist das Protokoll hier, sollte ich meine Antwort löschen und Ihre (wie es genauer ist) verlassen? –
Eigentlich lag ich falsch. 'self.puts' unterscheidet sich von dem Aufruf der' puts' Methode für die aktuelle Klasse. Also war die erste Überarbeitung meiner Antwort, die im Grunde dasselbe wie deine war, richtig und deine auch. –