как посчитать количество вложенных массива в строку в Lua
Как подсчитать количество под массивов в строке lua.
У меня есть строка lua в следующем формате,
{{"engName1": "Test1", "validDurPeriod": 0, "appStatus": 2, " engName3":"",
"ExtraInfo": {"returnPeriod": 7,"stayType": 50,"fingerprintInd": 49, "stayPeriod": 6, "medicalInd": 49},}
{"engName1":"Test2","validDurPeriod": 3, "appStatus": 2, " engName3":"", },
{"engName1":"Test3","validDurPeriod":2,"appStatus":2,"engName3":"","ExtraInfo":{"returnPeriod":7,"stayType":50,"fingerprintInd":49,"stayPeriod":6,"medicalInd":49}
}, {"engName1": "Test4", "validDurPeriod": 3, "appStatus": 2, " engName3":"",
},}
Я хочу подсчитать количество суб-массивов в строке lua ,
что-то вроде {{},{},{},{}} так как здесь счет идет на 4
Я попробовал что-то ниже кода, чтобы проверить его содержит массив, но не в состоянии получить точное количество.
ниже код работает для одного массив, но не работает для множественного массива
function checkType(sample)
if string.startswith(sample, "{{", true) or string.startswith(sample, "{ {", true) or string.startswith(sample, "{ {", true) then
return true;
else
return false;
end
end
2 ответов:
Если ваша таблица работает правильно, вы должны иметь возможность использовать таблицу функций.getn (таблица).
Примеры:
print(table.getn{10,2,4}) --> 3 print(table.getn{10,2,nil}) --> 2 print(table.getn{n=1000}) --> 1000 a = {} print(table.getn(a)) --> 0Я надеюсь, что это делает трюк ;)
Источник: 19.1-Размер Массива
Comments