2016-11-17 4 views
0

Beim Programmieren Routen in Sinatra, ich über Code kam, da dies aufgeführt:Was ist das in Ruby? || =

before do 
    session[:lists] ||= [] 
end 

Was diese Operation tun ist?

+2

Huh, googeln "ruby || =" nicht geben eigentlich nichts nützlich, von dem, was ich könnte sehen. Versuchen Sie stattdessen, "Ruby oder Equals" zu googeln. – alexanderbird

+2

Ja, das hat schon eine Zillion Antworten auf SO. –

+0

Das Rails-Tag sollte entfernt werden, da es sich um eine reine Ruby-Frage handelt. –

Antwort

2

x || = Wert ist eine Art und Weise zu sagen, "wenn x einen Falsey Wert enthält, einschließlich nil, weist Wert x"

Die session[:lists] gleich [] Vertonung wenn session[:lists] Falsey ist.

Bezogen auf https://stackoverflow.com/a/6671466/4722305.

1

Es setzt []-session[:lists] wenn es nil oder falsy

Lesen Sie mehr here

;)