title: Lua: 'pairs' doesn't iterate over [1]
body: <p>I quickly had to debug something, and wrote following function:</p>
  
  <pre><code>function dumpTable(t)
      for i,v in pairs(t) do
          if type(v) == "table" then
              dumpTable(v)
          else
              print(i..":", v)
          end
      end
  end
  </code></pre>
  
  <p>Now, for some reason</p>
  
  <pre><code>dumpTable({[1]="hello??", [2]="two", {[132]="something", [3.2]="else"}})
  </code></pre>
  
  <p>outputs</p>
  
  <pre><code>132:    something
  3.2:    else
  2:  two
  </code></pre>
  
  <p>notice how the first string is missing? But if I change its key..</p>
  
  <pre><code>dumpTable({["one"]="hello??", [2]="two", {[132]="something", [3.2]="else"}})
  </code></pre>
  
  <p>it outputs</p>
  
  <pre><code>132:    something
  3.2:    else
  one:    hello??
  2:  two
  </code></pre>
  
  <p>This is so unintuitive I almost feel like making an idiot of myself not seeing the mistake..</p>
  
  <p>(btw. I do know that my function will overflow the stack if the table contains a recursive reference, going to fix that later)</p>