title: How to map over a nested array
body: <p>I have an array:</p>
  
  <pre><code>my_array = [[1,2,3,4],
              [5,6,7,8],
              [9,10,11,12]]
  </code></pre>
  
  <p>I want to iterate over each "cell" and change the value to something else.  How can I do this without flattening the array and recomposing.  Something like:</p>
  
  <pre><code>   my_array.each_with_index do |row, row_index|
        row.each_with_index do |cell, col_index|
          my_array[row_index][col_index] = random_letter
        end
      end
  </code></pre>
  
  <p>The above method doesn't exactly turn out how I would think (the random letter's work, but each row has the same random letters as the last row, in the same order)</p>
  
  <p>Thoughts?</p>