nil.to_i => 0
nil.to_a => []
nil.to_h => {}
nil.to_s => ''
nil.to_sym => undefined method `to_sym' for nil:NilClass
Есть ли конкретная причина, по которой это не реализовано? Я бы ожидал такого поведения:Ruby: nil.to_sym вызывает исключение, почему?
nil.to_sym => :''
Это было бы согласуется с остальными. Должен ли я делать запрос функции на ruby-lang.org?
(Я действительно не понимаю, почему люди этого не делают. Это законный вопрос, я никого не оскорблял.) – Mat
Возможно, вы получаете голоса, потому что только Мац может ответить на этот вопрос. Нет спецификации Ruby, не говоря уже о аннотированной спецификации с обоснованиями для различных решений. Даже «NilClass # to_h» является довольно недавним дополнением. –