• Может ли if в lua проверять наличие элементов в массиве?

    IlliumOld
    @IlliumOld Автор вопроса
    Не эквивалентен. Код ниже проверит - существует ли currentTable. if лишён смысла, потому что currentTable объявлен и существует:
    local currentTable = {}
    if currentTable then

    Код ниже пройдёт элементы currentTable по порядку и посчитает их количество.
    local currentTable = {}
    if #currentTable ~= 0 then

    В случае:
    local a = "name"
    local currentTable = {a="eman"}
    if #currentTable ~= 0 then

    if снова лишён смысла, потому что первым элементом таблицы currentTable будет элемент name в значении "eman". Считать нечего, счётчик элементов #currentTable покажет 0, потому что currentTable[1] = nil.

    Проверку реализовал так:
    function IsEmpty(t)
        if not t then
            return true
        end
        for _, _ in pairs(t) do
            return false
        end
        return true
    end
    local currentTable = {}
    if not IsEmpty(currentTable) then
    Ответ написан