2017-09-04 3 views
-1

Ich weiß, dass ich Namen einer Methode zurückgeben kann __method__ mit:Wie wird der Empfänger von einer Methode in Ruby zurückgegeben?

def foo  
    __method__ 
end 

Aber wie kehre ich das Objekt das Verfahren angebracht ist? Zum Beispiel:

class Integer 
    def foo 
    # code 
    end 
end 

1.foo 
#=> 1 
+3

Sind gerade 'self' –

+2

Beachten Sie, dass' Fixnum' veraltet ist - es ist alles 'Integer' jetzt. – Stefan

+0

Wenn das einzige, was Ihre Methode tut, ist, self zurückzugeben, sollten Sie keine Methode aufrufen: '" 1 # => 1 "' –

Antwort

4

self bezieht sich auf das Objekt selbst:

class Fixnum 
    def foo 
    self 
    end 
end 
+0

@ zOs0 Betrachten wir die Antwort zu akzeptieren, gibt es ein Zeichen ' V' unter der Punktzahl der Antwort. –

Verwandte Themen