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