<?xml version='1.0' encoding='UTF-8'?>
<elementos_gw>
  <documento>
    <id>2781</id>
    <autor>5</autor>
    <nome>Arrays de arrays em Ruby</nome>
    <nome_facil>arrays de arrays em ruby</nome_facil>
    <criacao>2011-11-09 11:25:12</criacao>
    <alteracao>2011-11-09 11:39:51</alteracao>
    <texto>1. Agrupando arrays com [http://www.ruby-doc.org/core-1.8.7/Array.html#method-i-zip zip]:
{{{
a = [:a, :b, :c]
b = [1, 2, 3]
a.zip b                    #=&gt; [[:a, 1], [:b, 2], [:c, 3]]
}}}

2. Agrupando arrays com [http://www.ruby-doc.org/core-1.8.7/Enumerable.html#method-i-each_slice each_slice]:
{{{
a = (&#039;a&#039;..&#039;f&#039;).to_a        #=&gt; [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;, &quot;d&quot;, &quot;e&quot;, &quot;f&quot;]
a.each_slice(2).to_a       #=&gt; [[&quot;a&quot;, &quot;b&quot;], [&quot;c&quot;, &quot;d&quot;], [&quot;e&quot;, &quot;f&quot;]]
}}}

3. Usando {{{each_slice}}} para pegar de N em N elementos:
{{{
a = (&#039;a&#039;..&#039;f&#039;).to_a
a.each_slice(2) { |x,y| puts &quot;#{x} =&gt; #{y}&quot; }
}}}

4. Desagrupando apenas um nível com [http://www.ruby-doc.org/core-1.8.7/Array.html#method-i-flatten flatten]:
{{{
a = [[:a, 23], [:b, [&#039;um&#039;, &#039;dois&#039;]]]
a.flatten(1)               #=&gt; [:a, 23, :b, [&quot;um&quot;, &quot;dois&quot;]]
}}}
</texto>
    <publico>1</publico>
    <original>0</original>
    <anterior>0</anterior>
    <versao>0</versao>
    <traducao>0</traducao>
    <propriedade>
      <nome>linguagem</nome>
      <valor>ruby</valor>
      <publico>1</publico>
    </propriedade>
    <propriedade>
      <nome>categ</nome>
      <valor>dicas</valor>
      <publico>1</publico>
    </propriedade>
    <propriedade>
      <nome>categ</nome>
      <valor>list</valor>
      <publico>1</publico>
    </propriedade>
  </documento>
</elementos_gw>
