Я пытаюсь подсчитать элементы в таблице, в которой есть некоторые элементы, индексированные со строками. Когда я пытаюсь использовать оператор #, он просто игнорирует индексированные строки. Пример:подсчет строковых индексированных таблиц в lua
local myTab = {1,2,3}
print(#myTab)
возвратит 3
local myTab = {}
myTab["hello"] = 100
print(#myTab)
возвратит 0 смешивая их, я попытался
local myTab = {1,2,3,nil,5,nil,7}
print(#myTab)
myTab["test"] = try
print(#myTab)
вернулся 7, а затем 3, это правильно, потому что я где-то читал, что # оператор останавливается, когда находит нулевое значение (но тогда почему первая печатная версия 7?)
в прошлом, я попытался
local myT = {123,456,789}
myT["test"] = 10
print(#myT)
печать 3, а не 4
Почему?
Почему вы должны рассчитывать элементы в таблице? Какова проблема, которую вы пытаетесь решить? – lhf
«Оператор # останавливается, когда находит нулевое значение» неверен. Это [Справочное руководство] (http://www.lua.org/manual/5.2/manual.html#3.4.6) объясняет это хорошо. –