6

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)
4

1 に答える 1

10

を使用しdropます。ドキュメントから:

a = [1, 2, 3, 4, 5, 0]
a.drop(3)             #=> [4, 5, 0]
于 2013-01-08T07:08:33.010 に答える