我在做红宝石考恩的时候有这个问题。给定这个数组:
array = [1, 2, 3, 4]
array[4, 0]
等于[]
。然而,array[5, 0]
等于nil
。
4和5都超出了指数。他们为什么要归还不同的东西?
发布于 2017-01-06 19:32:12
Array#slice(开始,长度)的第一个参数是索引()之间的位置(),切片应该从这里开始:
array = [1, 2, 3, 4]
# elements : [ 1 2 3 4 ]
# ↑ ↑ ↑ ↑ ↑
# slice start indices : 0 1 2 3 4
slice(0,_)
从1
的左边开始,slice(3,_)
从4
的左边开始,slice(4,_)
从最后一个可能的位置开始:4
的右边。
slice(4,0)
仍然在array
中,它是4
的空数组。
slice(5,0)
已经不在array
里面了,它是nil
。
https://stackoverflow.com/questions/41512884
复制相似问题