title: Is there a way to specify the argument positions in the format string for `string.format`?
body: <p>In C, I can tell <code>printf</code> to print the arguments in an order different than the order they are passed in:</p>
  
  <pre class="lang-c prettyprint-override"><code>printf("%2$d %1$d\n", 10, 20);
  //prints 20 10
  </code></pre>
  
  <p>However, if I try to do the same in Lua  I get an error:</p>
  
  <pre class="lang-lua prettyprint-override"><code>print(string.format("%2$d %1$d\n", 10, 20))
  </code></pre>
  
  <pre class="lang-none prettyprint-override"><code>invalid option '%$' to 'format'
  </code></pre>
  
  <p>Is there a way to create a Lua format string that causes string.format to write the second argument before the first? I am working with an internationalization and changing the format string is easy but changing the argument order is much more tricky.</p>
  
  <p>I would have expected the technique that I used in C to work with Lua because, <a href="http://www.lua.org/manual/5.2/manual.html#pdf-string.format" rel="noreferrer">according to the manual</a>, <code>string.format</code> should receive the same parameters as <code>sprintf</code>. Are <code>%2$</code> directives not part of ANSI C or is the Lua manual just forgetting to mention that they are not supported?</p>