以下の内容はhttps://shinkufencer.hateblo.jp/entry/2019/06/25/233000より取得しました。


Rubyで初期値設定を行うときは || を使って nil 判定をする自己代入式を使うと便利

x ||= 10 みたいな形でORの仕組みを使って初回だけ値を入れるやり方を考える

環境

$ ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]

考え方

たとえば、インスタンス変数に 「すでに a に 値が入っていれば値をそのまま使い、なければ初期値として 20 入れる」という場合以下のような書き方をする

a || ( a = 20 )

これは a に値が入っていれば || の左の式で true となるので 右の式の ( a = 20 ) は実行されないが、 anil なら右の式が実行されるというもの。

なお上の式は自己代入( a += 1 のような書き方 ) をすると下記のように書ける

a ||= 20

参考リンク




以上の内容はhttps://shinkufencer.hateblo.jp/entry/2019/06/25/233000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14