Was bedeutet || =? [Duplikat]

8

Ich habe eine geschützte Methode in meiner Anwendung contoller

%Vor%

Ich habe mich gefragt, was ||= bedeutet? Ich habe versucht zu suchen und es herauszufinden, aber ohne Erfolg.

    
pka 26.09.2011, 14:46
quelle

6 Antworten

11

Grundsätzlich bedeutet a ||= b assign b to a if a is null or undefined or false (i.e. false-ish value in ruby) , es ist eine Verknüpfung zu a = b unless a .

    
Romain 26.09.2011, 14:48
quelle
3

|| = ist ein Rubin-Idiom. Das bedeutet, wenn @current_user gleich null ist (oder falsch), dann versuchen Sie es anhand der ID zu finden und weisen Sie es @current_user zu, andernfalls tun Sie nichts.

Siehe Fragen .

    
m-sharp 26.09.2011 14:48
quelle
3

Dies ist ein Teil von Ruby.

Wenn @current_user null oder falsch ist, wird es auf User.find_by_id(session[:user_id])

gesetzt     
Chris Ledet 26.09.2011 14:48
quelle
0

Beachten Sie die Parallelen zu a += b , was a = a + b entspricht.

So a ||= b entspricht a = a || b . Wie andere bereits erwähnt haben, ist dies das gleiche wie a = b unless a .

    
grifaton 26.09.2011 15:02
quelle
0

Rubin 'a || = b' heißt "oder - gleich" -Operator. Es ist eine kurze Art zu sagen, wenn a einen booleschen Wert von wahr hat (wenn es weder falsch noch Null ist), hat es den Wert von a. Wenn nicht, hat es den Wert von b.

    
jmoon90 28.10.2013 13:48
quelle
0
  

Grundsätzlich bedeutet a || = b, dass b a zugewiesen wird, wenn a null oder undefiniert oder ist   false (d. h. false-ish-Wert in Ruby), es ist eine Abkürzung zu a = b, es sei denn   a.

     

teilen | bearbeiten beantwortet am 26.09.11 um 14:48

     

Romain 6,9711330

Zusätzlich zu dieser Antwort ist hier ein Beispiel -

%Vor%

Das bedeutet arr ausdruck und arr0 Ausdruck sind gleich.

Hoffe, das hilft besser zu verstehen, ||= operator.

    
Andrius 03.04.2014 08:03
quelle

Tags und Links