1

我知道 Ruby 中数组的超出范围值为零;但是,当我使用二维数组时遇到了一个问题。这是一个简单的代码来说明我遇到的问题。

a = [1]
b = [[ 1, 2 ], [ 3, 4]]
puts a[0]   #outputs 1
puts b[0][0] #outputs 1
puts a[100] == nil #outputs true
puts b[100][100] == nil #undefined method `[]' for nil:NilClass (NoMethodError)

是否需要特殊的语法,或者我在这里遗漏了什么?

4

1 回答 1

3

b[100]超出范围,因此结果为零。
然后你调用nil[100]这会引发错误,因为 nil 没有任何[]方法。

于 2013-07-08T01:53:08.850 回答