Rubyで値がnilの時だけアップデートするワンライナー
ワンライナー?
ワンライナー(One-liner)とは英語の意味の通り、1行で終わらせる処理のことである。
(ただし、手間のかかる処理をワンステップでお手軽に終わらせる表現も
ワンライナーと呼ぶので広義では必ずしも1行で終わるわけではない。)
Rubyで値を特定条件の時のみアップデート
要するに、よくやるであろうコレ
#aaaがnilのときのみFooを代入、それ以外は何もしない if @aaa.nil? @aaa = "Foo" else @aaa end
を、まず第一段階でこう短縮できる
@aaa = @aaa || "Foo"
そして、これはさらにこう書ける
@aaa ||= "Foo"
+=(プラスイコール)や-=(マイナスイコール)という表記は他の言語でもよく見かけるが、
||=(オア イコール)というのは初めてだったのでメモ。