Ruby是否像C#一样跳过(n)?

时间:2013-01-08 07:04:20

标签: c# ruby list

在C#中你可以这样做:

var list = new List<int>(){1,2,3,4,5};
list.skip(2).take(2); // returns (3,4)

我正在尝试学习所有Ruby可枚举的方法,但我没有看到skip(n)的等价物

a = [1,2,3,4,5]
a.skip(2).take(2) # take exists, skip doesn't

那么,什么是“最好的”Ruby方式呢?

所有这些工作,但它们都非常难看。

a.last(a.length - 2).take(2)
(a - a.first(2)).take(2)
a[2...a.length].take(2)

1 个答案:

答案 0 :(得分:10)

使用drop。来自docs

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