Альтернатива модулю в Lua - PullRequest
       20

Альтернатива модулю в Lua

0 голосов
/ 30 августа 2018

В Lua, как вы знаете, массивы начинаются с индекса 1.

В других языках я часто буду использовать модуль, чтобы заставить значение колебаться через элементы массива, например:

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

Как мне это сделать в Lua, где array[0] по умолчанию равно nil.

1 Ответ

0 голосов
/ 31 августа 2018

Мне нравится Егор сказал в комментариях ,

Сначала выполните модуль, а затем увеличьте значение.

Если i равно длине, то в итоге получится 0. При увеличении это приведет к 1. Каждое другое значение просто увеличивается.

Это работает только при увеличении на 1. Для больших шагов вы можете сделать

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