SORA.GetOutput()

備忘録と捌け口とシェアと何か。

Rubyで値がnilの時だけアップデートするワンライナー

ワンライナー

ワンライナー(One-liner)とは英語の意味の通り、1行で終わらせる処理のことである。
(ただし、手間のかかる処理をワンステップでお手軽に終わらせる表現も
ワンライナーと呼ぶので広義では必ずしも1行で終わるわけではない。)

Rubyで値を特定条件の時のみアップデート

要するに、よくやるであろうコレ

#aaaがnilのときのみFooを代入、それ以外は何もしない
if @aaa.nil?
  @aaa = "Foo"
else
  @aaa
end

を、まず第一段階でこう短縮できる

@aaa = @aaa || "Foo"

そして、これはさらにこう書ける

@aaa ||= "Foo"

+=(プラスイコール)や-=(マイナスイコール)という表記は他の言語でもよく見かけるが、
||=(オア イコール)というのは初めてだったのでメモ。