2013-01-08 8 views
5

In C# si può fare:Ruby ha Skip (n) come C#?

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

Sto cercando di imparare tutti i metodi enumerabili di Ruby, ma non vedo un equivalente per salto (n)

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

Allora, qual è il "migliore" modo rubino per farlo?

tutti questi lavori, ma sono piuttosto brutti.

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

E a proposito di 'drop'? –

+0

oh, eccolo, grazie mille mike –

+1

Cosa c'è di sbagliato con 'list [2, 2]'? – oldergod

risposta

9

Usa drop. Da docs:

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