Wie lautet die Regel für die Verwendung von Klammern im Methodenaufruf?

8

Beim Aufruf einer Methode konnte ich im folgenden Fall die Klammern nicht weglassen:

%Vor%

Welche Regeln sollte ich anwenden, um dies zu vermeiden?

    
JCLL 24.09.2015, 08:13
quelle

3 Antworten

7

Wenn Sie {} als einziges Argument übergeben (es gibt also keine Kommas im Aufruf), kann Ruby nicht sagen, ob Sie einen leeren Hash oder einen leeren Block meinen, also müssen Sie Klammern verwenden, um es zu unterscheiden:

%Vor%

In anderen Fällen ist eine gute Faustregel, dass Klammern erforderlich sind, wenn Sie den Methodenaufruf direkt als Argument verwenden, d. h.

%Vor%

Wenn Ihr Methodenaufruf noch verschachtelter wird, ist es wahrscheinlich besser, Methodenaufrufe mit lokalen Variablen zu speichern (oder Ihre Schnittstellen zu überdenken), d. h.

%Vor%     
Borsunho 24.09.2015, 08:25
quelle
2

Sie können zu << von push wechseln, um diese Fallstricke zu vermeiden.

%Vor%     
Wand Maker 24.09.2015 08:26
quelle
0

Wenn Sie wie folgt schreiben:

%Vor%

Ruby wird dies übersetzen:

%Vor%

push Methode ohne Argumente und mit Block

    
Alexander Shlenchack 24.09.2015 08:27
quelle

Tags und Links