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 リファレンスマニュアル)