【问题标题】:Alternative to Modulus in LuaLua 中模数的替代方案
【发布时间】:2018-08-31 20:55:17
【问题描述】:

您可能知道,在 Lua 中,数组从索引 1 开始。

在其他语言中,我经常使用模数来使值在数组成员中振荡,例如:

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

我如何在 Lua 中做到这一点,array[0] 默认为 nil。

【问题讨论】:

  • i = i % #array + 1; return array[i]

标签: lua modulus


【解决方案1】:

点赞Egor said in the comments,

先做模,然后增加值。

如果 i 等于长度,它将最终为 0。递增将导致 1。其他所有值都会增加。

这仅在递增 1 时有效。对于更大的步骤,你可以做

i = (i+n-1)% #array + 1

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2014-05-19
    • 1970-01-01
    • 2012-08-15
    • 2018-04-25
    • 1970-01-01
    相关资源
    最近更新 更多