ruby で変数が nil の時にアサインするあれ

ruby でよく変数 name に値が設定されていない時だけデフォルトの "山田権兵衛" とか設定したい時に

  name ||= "山田権兵衛"

という記述が紹介されるけど、これって name が false の時も権兵衛さんになっちゃうけど、設定されていない(=nil)の時だけに値を入れるとすると

  name = "山田権兵衛" if name.nil?

になってしまうよな。でもこれだと name "田中"の時に式の評価値が nil になって残念な感じ。

  name = "山田権兵衛" if name.nil? ; name

かますますダサいし。

そもそも、RailsActiveRecord も find_by でユーザーが見つからない時に nil ではなくて false を返してくるし、きっと皆あんまり気にしてないのかもね。