Ruby相当于Python的"array [i:]"来选择i之后的所有数组元素?

bou*_*uby 9 ruby arrays

我发现自己想要像Python这样的东西

ary = [1,2,3,4,5,6,7,8]
ary[2:] #=> [3,4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)

这些天所有的时间.

解决方案总是变得多线和丑陋.我想知道那里最优雅的解决方案是什么,因为我不值得展示.

Kir*_*rat 14

使用Array#drop

2.1.0 :019 > ary.drop(2)
 => [3, 4, 5, 6, 7, 8] 
Run Code Online (Sandbox Code Playgroud)


tor*_*o2k 8

你可以写:

ary[2..-1]
# => [3,4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)

-1是数组中最后一个元素的索引,有关更多信息,请参阅docArray#[].

Ruby中更好的替代Array#drop方法是使用该方法:

ary.drop(2)
# => [3,4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)