title: What is "object = {...}" in lua good for?
body: <p>I recently read about lua and addons for the game "World of Warcraft". Since the interface language for addons is lua and I want to learn a new language, I thought this was a good idea.</p>
  
  <p>But there is this one thing I can't get to know. In almost every addon there is this line on the top which looks for me like a constructor that creates a object on which member I can have access to. This line goes something like this:</p>
  
  <pre><code>object = {...}
  </code></pre>
  
  <p>I know that if a function returns several values (which is IMHO one huge plus for lua) and I don't want to store them seperatly in several values, I can just write</p>
  
  <pre><code>myArray = {SomeFunction()}
  </code></pre>
  
  <p>where <code>myArray</code> is now a table that contains the values and I can access the values by indexing it (<code>myArray[4]</code>). Since the elements are not explicitly typed because only the values themselfe hold their type, this is fine for lua. I also know that "..." can be used for a parameter array in a function for the case that the function does not know how many parameter it gets when called (like <code>String[] args</code> in java). But what in gods name is this "curly bracket - dot, dot, dot - curly bracket" used for??? </p>