Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Créateur de tables -- par Coloco21 --
- function maketable(TYPE, tabl) --[[
- TYPE :
- n -> nombres entiers naturels
- N -> nombres entiers négatifs
- l -> lettres minuscules
- L -> lettres majuscules
- s ou S -> symboles
- tabl :
- Votre table qui contiendra les caractères. A créer avant d'appeler la fonction.
- ]]
- local numbool = 0
- local negabool = 0
- local lowerbool = 0
- local upperbool = 0
- local symbool = 0
- if TYPE:find("n") then -- si TYPE contient "n"
- numbool = 1
- end
- if TYPE:find("N") then
- negabool = 1
- end
- if TYPE:find("l") then
- lowerbool = 1
- end
- if TYPE:find("L") then
- upperbool = 1
- end
- if TYPE:find("s") or TYPE:find("S") then
- symbool = 1
- end
- if numbool==1 then -- si TYPE contient n
- numtab = {} -- on déclare une table pour les entiers naturels
- for i=0,9 do -- pour i variant de 0 à 9
- table.insert(numtab,i+1,i) -- numtab[i+1]=i
- end
- end
- if negabool == 1 then -- si TYPE contient N
- negatab = {}
- if not numtab then -- si numtab n'est pas déclarée = si typetab[1]==0 = s'il n'y a pas de 0 dans la table
- for i=0,9 do -- pour i variant de 0 à 9
- if i==0 then
- table.insert(negatab,1,0) -- si i vaut 1 alors negatab[1] vaut 0 (pour éviter -0)
- else
- table.insert(negatab,i+1,(-1)*i) -- sinon negatab[i+1] = i(-1)
- end
- end
- else -- sinon (s'il y a déjà 0 dans la table finale)
- for i=1,9 do -- pour i variant de 1 à 9
- table.insert(negatab,i,(-1)*i) -- negatab[i] = i(-1)
- end
- end
- end
- if lowerbool == 1 then -- si TYPE contient l
- lowercase = {}
- for i=1,26 do -- pour i variant de 1 à 26
- table.insert(lowercase,i,string.char(96+i)) -- lowercase[i] = string.char(96+1) --> string.char(97) vaut "a", string.char(98) vaut "b", etc
- end
- end
- if upperbool == 1 then -- si TYPE contient L
- uppercase = {}
- for i=1,26 do
- table.insert(uppercase,i,string.char(64+i)) -- uppercase[i] = string.char(64+i) --> string.char(65) vaut "A", etc
- end
- end
- if symbool == 1 then -- si TYPE contient s ou S
- symbols = {}
- for i=1,14 do -- pour i variant de 1 à 14
- table.insert(symbols,i,string.char(32+i)) -- on insère les 15 premiers symboles (symbols[i] = string.char(32+i))
- end
- for i=1,7 do
- table.insert(symbols,14+i,string.char(57+i)) -- puis les 8 suivants (symbols[14+i] = string.char(57+i))
- end
- for i=1,6 do -- puis les 7 suivants
- table.insert(symbols,21+i,string.char(90+i)) -- symbols[21+i] = string.char(90+i)
- end
- for i=1,8 do -- puis les 9 derniers
- table.insert(symbols,27+i,string.char(122+i)) -- symbols[27+i] = string.char(122+i)
- end
- end
- if numtab then -- si numtab existe = si TYPE contient "n" = si typetab[1] == 1
- for u,v in ipairs(numtab) do -- pour u et v dans ipairs(numtab) -> u = 1,2,3,...,#numtab ; v = numtab[1],numtab[2],...,numtab[#numtab]
- table.insert(tabl,#tabl + 1,v) -- tabl[#tabl + 1] = v --> on ajoute à la fin de tabl les valeurs de numtab
- end
- end
- if negatab then
- for u,v in ipairs(negatab) do
- table.insert(tabl,#tabl +1,v)
- end
- end
- if lowercase then
- for u,v in ipairs(lowercase) do
- table.insert(tabl,#tabl +1,v)
- end
- end
- if uppercase then
- for u,v in ipairs(uppercase) do
- table.insert(tabl,#tabl + 1,v)
- end
- end
- if symbols then
- for u,v in ipairs(symbols) do
- table.insert(tabl,#tabl + 1,v)
- end
- end
- return tabl
- end
- function tprint(table) -- fonction pour afficher les tables
- for u,v in ipairs(table) do
- print(u..". "..v)
- end
- end
Add Comment
Please, Sign In to add comment