From: Yui NARUSE Date: 2011-04-27T16:46:01+09:00 Subject: [ruby-core:35924] [Ruby 1.9 - Feature #4621][Assigned] NilClass#to_hash Issue #4621 has been updated by Yui NARUSE. Category set to core Status changed from Open to Assigned Assignee set to Yukihiro Matsumoto ---------------------------------------- Feature #4621: NilClass#to_hash http://redmine.ruby-lang.org/issues/4621 Author: Tsuyoshi Sawada Status: Assigned Priority: Normal Assignee: Yukihiro Matsumoto Category: core Target version: Various methods defined on `NilClass` are handy to avoid Method undefined on NilClass errors. For example, * `to_a` for multiple dimensioned array when there might not be some values for some indices: array[i].to_a[j].to_a[k] * `to_s` for pattern match that might fail: string[regex].to_s*2 * `to_i`, `to_f`, `to_c` for index search that might fail, etc: array.index(element).to_i*3 But there is no `NilClass#to_hash` even though there is `Hash#to_hash`. If such method existed (equivalent to `class NilClass; def to_hash; {} end end`), then we would be able to do: * `to_hash` for multiple embedded hash when there might not be some values for some keys: hash[:a].to_hash[:b].to_hash[:c] Is there any reason why `to_a`, `to_s`, `to_i`, `to_f`, `to_c` are all defined on `NilClass` but not for `to_hash`? If there is not, I would like to request this feature. -- http://redmine.ruby-lang.org