🌟
Ruby で nil.to_a は [] を返す
実は知らなくてぎょっとしたって話なだけなんですが Ruby で nil.to_a を呼び出すと [] が返ってきます。
p nil.to_a
# => []
なんとなく nil が返ってくるのかなーと思ってたけどよくよく考えると #to_a は配列を返すことを期待しているので [] が返ってくるのは当たり前といえば当たり前か。
その他の to_x メソッド
nil.to_a は [] を返したけどそれ系の他のメソッドは何を返すんだろう、といろいろと試してみました。
require "json"
p nil.to_h # => {}
p nil.to_i # => 0
p nil.to_f # => 0.0
p nil.to_s # => ""
p nil.to_r # => (0/1)
p nil.to_json # => "null"
いずれもそれっぽい値を返しているみたですねー。
Discussion