Also hat die lockere Toleranz von Ruby, Klammern zu verwenden manchmal und sie nicht zu erfordern, zu einer Menge Verwirrung für mich geführt, während ich versuche, Rails zu lernen und wann / wo und warum?
Manchmal werden Parameter oder Werte als (@user, @comment)
übergeben und manchmal scheinen sie [ :user => comment ]
zu sein und wieder andere sind es nur: :action => 'edit'
Ich spreche von uns von [] vs () vs {}
Was sind die Regeln? Und gibt es irgendwelche Tricks, an die du dich erinnern kannst?
Klammern ()
dienen zum Gruppieren von logischen oder mathematischen Ausdrücken und Gruppieren von Argumenten zu einem Funktionsaufruf, z. B .:
Curly Braces {}
werden für Hash-Literale und Blöcke verwendet, z. B .:
Quadratische Klammern []
werden für Array-Literale, Array-Indizierung und -Abschneiden sowie zum Abrufen von Hashwerten verwendet, z. B .:
Um die Sache zu verwirren, können Hash-Literale auch direkt als Argument für einen Methodenaufruf ohne geschweifte Klammern oder Klammern verwendet werden, solange es das letzte Argument ist (danke samuil). Darüber hinaus können Hash-Literale direkt in eckigen Klammern verwendet werden, um ein Array mit einem einzelnen Element zu erstellen, das den Hash enthält:
%Vor%Verwenden Sie im Zweifelsfall immer Klammern, um Elemente zu gruppieren und Ihre Hashes in geschweifte Klammern zu legen.
Tags und Links ruby curly-braces square-bracket parentheses jrubyonrails