2010-08-13 22 views

cevap

70

kullanın Enumerable#each_slice:

Yani

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

değil! Bu yöntemi bir şekilde özledim. –

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

Zeki, ancak düzeni korumaz. –

+0

Bunu yapar (en azından Ruby 1.9.2dev içinde). –

+3

Büyüleyici! http://www.igvita.com/2009/02/04/ruby-19-internals-ordered-hash/ –

İlgili konular