Короче чекнул я как Луа эмбедится в С, реально почти бесшовно. На го есть либа очень похожая на ту, что используется для эмбеда в С. Попробую, может реально получится)
И кстати тема с тэйблами в общем-то тоже не сказать какая странная - в питоне класс это тоже ассоциативный массив, просто там есть красивая синтаксическая обёрточка
Кароч, внутрях, таблица по дефолту — массив, но если добавить в неё какой-то ключ, не входящий в 1-N (int), она захеширует все ключи и доступ будет по хешам.
Не все же Если в ней одновременно лежат обычные числовые ключи и не-числовые, то у неё будет две части, и часть будет хранится в массиве, а часть в хеш-таблице
Гарантируется, что если у тебя ключи без пропусков от 1 вверх, то это массив, а если есть другой ключ, то он лежит в хеш-таблице. Кроме как для LuaJIT, который также сохраняет 0 в массиве.
Я увидел на официальном сайте имплементацию Set (массива с уникальными значениями), там сет создавался как хэш-таблица с числами в качестве ключей, где их значениям придавался true. У массивов в Луа не имплементация где в качестве ключа просто идёт индекс?