Ruby で nil の場合に別の値を入れる #ruby

まとめ

ぼっち演算子と or 演算子を使うといい感じに書ける。

result = hoge&.value || "default"

愚直に書く

if hoge== nil
    result = "default"
else
    result = hoge.value
end

nil? を使う

Object クラスにレシーバーが nil の場合に真偽値を返すメソッドがある。

docs.ruby-lang.org

if hoge.nil?
    result = "default"
else
    result = hoge.value
end

三項演算子を使う

単純な条件なら三項演算子で一行にまとめて書いてもよさそう。

result = hoge.nil? ? "default" : hoge.value

nil? を使わない

nil はそもそも if で false に判定されるのでなくてもよい。

result = hoge ? hoge.value : "default"

ぼっち演算子と or 演算子を使う

ぼっち演算子はレシーバーが nil のときはメソッドが呼ばれず nil を返し、 nil でないときはメソッドを呼び出してくれる。

result = hoge&.value || "default"

追記