1

Ruby の配列の範囲外の値が nil であることは認識していました。ただし、2 次元配列を使用すると問題が発生しました。これは、私が抱えている問題を説明するための簡単なコードです。

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 です。
nilにはメソッドnil[100]がないため、エラーが発生します[]

于 2013-07-08T01:53:08.850 に答える