ruby数组,从第二个到最后一个获取所有元素

时间:2014-07-18 13:29:29

标签: ruby arrays

我的方法:

 def scroll_images
   images_all[1..images_all.length]
 end

我不喜欢我正在调用images_all两次,只是想知道是否有一个很好的技巧来调用self或类似的东西来使它更清洁。

4 个答案:

答案 0 :(得分:12)

您可以使用Array#drop方法以更清晰的方式获得相同的结果:

a = [1, 2, 3, 4]
a.drop(1)
# => [2, 3, 4]

答案 1 :(得分:11)

使用-1代替长度:

 def scroll_images
   images_all[1..-1] # `-1`: the last element, `1..-1`: The second to the last.
 end

示例:

a = [1, 2, 3, 4]
a[1..-1]
# => [2, 3, 4]

答案 2 :(得分:1)

如果您实际修改了images_all的值,即明确删除第一个元素,请使用shift

images_all.shift

答案 3 :(得分:1)

以下是使用Array#values_at的另一种方法: -

a = [1, 2, 3, 4]
a.values_at(1..-1) # => [2, 3, 4]