local function strsplit(delimiter, text)  // Description
    if delimiter == "" then               // If Condition
        error("delimiter matches empty string!") //
    end                                // Fin de la condition
    local list, pos, first, last = {}, 1   //
    while true do                      // While Condition
        first, last = text:find(delimiter, pos, true) //Instruction hiérarchisée
        if first then -- found? // If Condition
            table.insert(list, text:sub(pos, first - 1))// Execution
            pos = last + 1		// Execution        	
	   else                   // Instruction hiérarchisée
            table.insert(list, text:sub(pos))	// Execution 
            break                                // Execution
        end                         // Fin de la condition
    end                           // Fin de la condition
    return list                    // 
end                            // Fin de la condition
M.private.strsplit = strsplit

Bleu se réfère à violet
qui se réfère à vert
qui se réfère à orange
qui se réfère à rose