nil.to_i => 0
nil.to_a => []
nil.to_h => {}
nil.to_s => ''
nil.to_sym => undefined method `to_sym' for nil:NilClass
是否有具体原因导致未实施?我期待这种行为:
nil.to_sym => :''
这与其他人一致。我应该在ruby-lang.org上提出功能请求吗?
答案 0 :(得分:2)
我认为实施nil.to_sym => :''在Ruby中语义上是不正确的。
" to_sym" method返回与字符串对应的Symbol,如果先前不存在则创建该符号。考虑到nil不是String的实例而是NilClass实例,它满足其创建者设置的规范。
我希望这可以回答你的问题。