0
我一直认为很好的ruby特性是nil
默认用于索引/哈希查找,例如,Ruby/Rails没有使嵌套索引安全吗?
[1, 2, 3][42] # => nil
{ foo: :bar }[:spam] # => nil
有,为什么在Ruby的设计或Ruby on Rails的核心扩展,这还没有扩展到嵌套查询工作(而不是抛出NoMethodError: undefined method '[]' for nil:NilClass
)理由吗?
例如:
{ foo: [1, 2, 3] }[:bar][0][:baz] # => nil
[[[]]][12][1][1] # => nil
在我,也许Nieve酒店,了解它是那样简单:
class NilClass
def [](_); end
end
看看它做你想做的尝试命令。 – Doon 2014-11-14 22:24:59
我知道'try'。由于嵌套查找非常普遍,所以我想知道为什么这种情况没有被优化。 – mjgpy3 2014-11-14 22:26:15
你会如何区分'h [:k1] [:k2]'和'nil [:k2]'之间的区别?你提出的'NilClass'补丁太过分了,它会以方便的名义隐藏缺陷。 – 2014-11-14 22:39:01