How does the lua function work?

I have an HTML project that uses scripts with multiple lua, I have a big problem preventing a single function from functioning (I'm new to lua):

........................

all necessary actions were performed, and paths were identified.

local fs = require "lfs"

local const = {}
for num = 1, 14 do
    const[num] = assert(
        dofile (const_path .. mkfilename(num)),
        "Failed to load constant configuration  ".. num ..".")
end




local function file_number()  --this is the function that causes me a headach
    local ci, co, num = ipairs(const)-- when I print num is 0 and ci,co are nil
    local vi, vo, _   = fs.dir(virt_path)--  what does _ mean here ? 
    local function vix(o)
        local file = vi(o)
        if file == nil then return nil end
        local number = file:match("^(%d+).lua$")
        if number == nil then return vix(o) end
        return tonumber(number)
    end
    local function iter(o, num)
        return ci(o.co, num) or vix(o.vo, num)---where is ci defined or impplemented 
    end
    return iter, {co=co, vo=vo}, num-- what  the return value here ? 
end

the function works, but I still do not understand why and how, I will be very useful for any hint.

+4
source share
1 answer

_ - conditionally discarded variable.

In this case, although this is impractical, and it can simply be completely excluded.

ciIt must be a function, and it comust be a table.

Similarly (although I cannot say exactly about vo) for viand vo.

, , ipairs fs.dir.

return iter, {co=co, vo=vo}, num -, (0 ipairs).

, ci vix.

+4

All Articles