title: Why are there different results when assigning a value in a two-dimension array?
body: <p>What is the difference between these two assignments? Why do they have different results?</p>
  
  <pre><code>arr3 = Array.new(2, Array.new(2, 0))
  arr4 = [[0, 0], [0, 0]]
  
  arr3 == arr4  # =&gt; true
  arr3 === arr4  # =&gt; true
  
  arr3[0][0] = "/"
  arr4[0][0] = "/"
  
  arr3  # =&gt; [["/", 0], ["/", 0]]
  arr4  # =&gt; [["/", 0], [0, 0]]
  </code></pre>