2010-08-13 7 views

Respuesta

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

¡Gracias! Me perdí este método de alguna manera. –

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

inteligente, pero no conserva el orden. –

+0

Sí (al menos en Ruby 1.9.2dev). –

+3

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

Cuestiones relacionadas