Files
1000-lignes-de-code/episode-001/reponse-decoupage-mot/reponse-elodie.txt
T

64 lines
1.4 KiB
Plaintext

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.)