ruby ||= の意味
自分の備忘録も兼ねて書きます。
railsではよく||=をよく見かけます。
訳すと、「あるいはか、代入する」という意味です。
自分はこれを理解するのに大分時間がかかりました。
何回見ても直感的に分からなかったです。
railstutorialにも概要が載っているので、気になる人は一度見てください。
では、説明していきます。
x = 0 x = x + 1
これはプログラミングの参考書ではよく見かけます。
右辺を左辺に代入します。
これを省略すると、自己代入という形で書けます
x += 1 → x = x + 1 と同義
では、次に||で同じことをやってみます。
x = 0 x = 0 || 1
これはx = 0でない場合、1を代入するという式です。
これを自己代入と同じ形で表現します。
x ||= 0
これはx = 0でなければ、x = 0 を代入するという式になります。
railsで使われる場合
@user ||= current_user
@userがcurrent_userでなければ、current_userを代入するという式になります。
式の意味が理解できれば、バンバン使っていけそうな感じがします。