Я создал сложную таблицу таблиц и использовал переменную в качестве индексов.По какой-то причине у меня были проблемы с тем, что мой код был очень глючным.
Оказалось, что мне нужно преобразовать индекс в строки
Так что
myTable[index]
нужно сделать
myTable[tostring(index)]
else
Иногда индекс работал бы как строка, а иногда - как целое число (хотя я никогда не конвертировал индекс в строку в какой-либо точке кода.
Это вызвало проблемы, потому что myTable[1]
и myTable["1"]
были бы созданы, и оба были бы разными (и я перебирал пары k / v, и поэтому myTable[1]
не появлялся).
Это очень странное поведение, но я предполагаю, что ожидается? Есть ли способ создать новый тип, основанный на таблице, которая всегда использует строковые индексы, чтобы можно было избежать этой вещи?