method1 a b, c
Wenn ja, welche Methode ist c ein Argument?
In Ruby müssen Sie in den Methodenargumenten keine Kommas oder Klammern setzen. Bei diesem System denke ich jedoch, dass ein Problem auftreten wird. Also habe ich es dieses Mal tatsächlich versucht und überprüft. Ich habe mich über die folgenden Fragen gewundert, weil es nicht viele Artikel gab.
Zum Beispiel
method1 a, b
Ist
method1(a, b)
Es bedeutet (Ich habe einen Fehler erhalten, als ich versucht habe, eine Methode mit der Namensmethode zu definieren, also habe ich sie als Methode1 festgelegt.).
method1 a b
Ist
method1(a(b))
Es bedeutet das. Bisher ist es gut (obwohl es zu diesem Zeitpunkt schon etwas seltsam ist ... es ist hart für Anfänger ...)
method1 a b, c
Gibt es nicht zwei Möglichkeiten?
method1(a(b),c)
Wann
method1(a(b,c))
Beide Möglichkeiten.
Was Sie hier überprüfen sollten, ist
ist. Sie müssen dies nur bestätigen. (Zu diesem Zeitpunkt ist es für den Leser schwierig.) Aber was ist mit Argumenten variabler Länge? Vielleicht hat einer von ihnen Priorität. ..
Lassen Sie uns nun überprüfen, welches der oben genannten Muster verwendet wird.
def a *temp
p "Die Anzahl der Argumente von a ist"
p temp.size
end
def method1 *temp
p "Die Anzahl der Argumente von Methode1 ist"
p temp.size
end
Ergebnis ist ,,,
method1 a 1, 2
# "Die Anzahl der Argumente von a ist"
# 2
# "Die Anzahl der Argumente von Methode1 ist"
# 1
Das heißt, die oben genannten
method1(a(1, 2))
Wurde erhalten. Es scheint, dass die obige Möglichkeit 2 angenommen wurde.
Recommended Posts