2010-08-13 23 views

risposta

70

Uso Enumerable#each_slice:

y = x.each_slice(2).to_a 
#=> [[:a, :b], [:c, :d]] 

[0, 1, 2, 3, 4, 5].each_slice(2).to_a 
#=> [[0, 1], [2, 3], [4, 5]] 
+0

Grazie! Ho perso questo metodo in qualche modo. –

2
Hash[*[:a, :b, :c, :d]].to_a 
+0

intelligente, ma che non conserva l'ordine. –

+0

Lo fa (almeno in Ruby 1.9.2dev). –

+3

Affascinante! http://www.igvita.com/2009/02/04/ruby-19-internals-ordered-hash/ –

Problemi correlati