无论在任何时间和任何机器上,使用'pairs'迭代“相同”的lua表时,顺序是否固定?

我正在为一个游戏编写重放模块,整个逻辑都是用lua编写的。我希望只记录玩家的输入,并希望相同的输入可以计算出相同的结果。我想知道,在任何时间、任何机器上使用'pairs'迭代“相同”的lua表时,是否固定顺序?或者它取决于表的键类型,比如表格键是否可以?

点赞
用户646619
用户646619

不行。“pairs”函数不能保证元素的顺序。如果你需要保证特定的顺序,可以使用一个数组(键值是连续整数的表)和“ipairs”函数。

如果你担心回放问题,只要元素的顺序不影响结果,顺序并不重要。

2015-01-08 03:50:54