🌟
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