【发布时间】:2012-04-03 18:00:06
【问题描述】:
如果我有一个多维数组,我可以超出最终维度的边界并返回 nil,但如果我超出了非最终维度的边界,则会收到错误消息。这是设计使然吗?如果是,原因是什么?
> ar = [ [00,01,02], [10,11,12], [20,21,22] ]
=> [[0, 1, 2], [10, 11, 12], [20, 21, 22]]
> ar[2][2]
=> 22
> ar[2][3]
=> nil
> ar[3][2]
NoMethodError: undefined method `[]' for nil:NilClass
from (irb):32
from :0
我明白为什么会发生这种情况,但为什么没有将 nil[] 定义为返回 nil?
【问题讨论】:
标签: ruby arrays multidimensional-array