実務をこなしていく中で、自己代入を使ったコードをよく見るので、それを解説していきます。
例えばこんなコードです。
a = 'hoge'
b ||= 'fuga'
b
=> "fuga"
このコードでは自己代入が使われています。この自己代入とは
左辺の変数が、nilもしくはfalseのとき||=の右辺にある値を代入するという意味です。
上記のコードでいえば、変数bがnilもしくはfalseのときfugaという文字列を変数bに入れてくださいね、という意味になります。
変数bはそれに当てはまるので、bにはfugaという文字列が入ります。
下記のようなコードを書いて見ましょう
a = 'hoge'
a ||= 'fuga'
a
=> "hoge"
上記のコードでは、aはfalseでもnilでもないのでfugaはaに代入されません。
a ||= 10
上記のコードは、
a = a || 10
このように論理演算子で考えると分かりやすいとおもいます。論理演算子の理解があやふやな方は、こちらの記事を参照してみてください。
以上です。何か間違いがございましたら、ご教示いただけますと幸いです。
【参考資料】