nilと""の違い
a = nil b = ""
nilは存在しないという意味。
それに対し、""は「何もない」が存在している。空文字とも言われる。
ちなみにnilを文字列変換すると空文字になる。
irb(main):001:0> a = nil irb(main):002:0> a.to_s => ""
これはdowncaseメソッドなどを使うときにnilだとエラーになるので、to_sを挟むといい。
Ruby | Scrabble Score | Exercismを通して学んだことです。
参考
- nil? empty? blank? present? の使い分け - Qiita
- String#to_s (Ruby 2.7.0 リファレンスマニュアル)