diff options
author | Mike Pall <mike> | 2021-04-25 17:44:03 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2021-04-25 17:44:03 +0200 |
commit | 431e81cdff9653cd16c6333bb51c314bd051611d (patch) | |
tree | be94adb99dd56149c60848f7dbf75d0403ef510b /doc | |
parent | 33e3f4badfde8cd9c202cedd1f4ed9275bc92e7d (diff) | |
download | luajit2-431e81cdff9653cd16c6333bb51c314bd051611d.tar.gz |
Add FAQ about table iteration order.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/faq.html | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/faq.html b/doc/faq.html index c7e8e979..6b7dc563 100644 --- a/doc/faq.html +++ b/doc/faq.html @@ -131,6 +131,19 @@ You have to press Ctrl-C twice to get stop your program. That's similar to when it's stuck running inside a C function under the Lua interpreter.</dd> </dl> +<dl id="order"> +<dt>Q: Table iteration with <tt>pairs()</tt> does not result in the same order?</dt> +<dd>The order of table iteration is explicitly <b>undefined</b> by +the Lua language standard.<br> +Different Lua implementations or versions may use different orders for +otherwise identical tables. Different ways of constructing a table may +result in different orders, too.<br> +Due to improved VM security, LuaJIT 2.1 may even use a different order +on separate VM invocations or when string keys are newly interned.<br><br> +If your program relies on a deterministic order, it has a bug. Rewrite it, +so it doesn't rely on the key order. Or sort the table keys, if you must. +</dl> + <dl id="sandbox"> <dt>Q: Can Lua code be safely sandboxed?</dt> <dd> |