Lua中替换模数的方法

在Lua中,数组起始索引为1。

在其他编程语言中,为了让一个值在数组中来回切换,我经常使用模数操作,例如:

i = (i + 1) % array.length
return array[1]

在Lua中,如何进行这个操作呢?因为默认情况下,array[0]是nil。

点赞
用户731620
用户731620

Egor在评论中所说的那样,

先执行模操作,然后再增加值。

如果i等于长度,它将变为0。对其进行递增将导致“1”。其他每个值都递增。

但是,这只适用于递增1。对于更大的步骤,可以执行以下操作

i = (i+n-1)% #array + 1
2018-08-31 12:55:17