
local function strsplit(delimiter, text)
    if delimiter == "" then
        error("delimiter matches empty string!")
    end
    local list, pos, first, last = {}, 1
    while true do
        first, last = text:find(delimiter, pos, true)
        if first then -- found?
            table.insert(list, text:sub(pos, first - 1))
            pos = last + 1
        else
            table.insert(list, text:sub(pos))
            break
        end
    end
    return list
end
M.private.strsplit = strsplit



Elements syntaxique du langage :
- local function,
- local,
- if,
- then,
- end,
- while,
- do,
- else,
- break,
- private

Nom de variable :
- delimiter,
- text,
- list,
- pos,
- first,
- last,
- table,

Nom de fonction :
- strsplit
- error
- find
- found?
- insert
- sub
- M

Diver :

- == : représente une égalité
- "" : represente une chaine de caractère vide.
- "delimiter matches empty string!" : represente une string
- last = {} : represente un object
- 1 : represente un entier
- true : represente vrais dans une comparaison par exemple
- text: je ne sais pas.
- last = text:find(delimiter, pos, true) : represent une affectation de variable (le resultat de cette fonction va dans la varaible last.)
- table.insert(list, text:sub(pos)) : represente une varable table a qui on lui applique la fonction insert avec ses paramêtres.
- + 1 / - 1 : represente un + 1 sur la variable first (qui doit contenir un integer.)