PSP SOFTWARES LES BASES DU LANGUAGE LUA |
|
|
Les bases du LUA
Opérateurs Arithmétiques
CODE
+
-
*
/
^ (puissance)
Conditionnels
CODE
< (inférieur)
> (supérieur)
<= (inférieur ou égal)
>= (supérieur ou égal)
== (égal)
~= (différent)
Tous produisent un résultat vrai (true) ou faux (false).
Logiques
CODE
and
or
not
Tous produisent un résultat vrai (true) ou faux (false).
Variables
CODE
Variables globales
Elles sont déclarées le plus simplement,
variable = 10
v1,v2 = 4,18
Variables locales et Blocks
CODE
Spécifiées par le mot clé local.
local i = 1
Un block est le corps de la structure d'une instruction, c'est la portée de la variable. On peut définir un block par do code end.
x = 10
local i = 1
while i<=x do
local x = i*2
print(x)
i = i + 1
end
if i > 20 then
local x
x = 20
print(x + 2)
else
print(x)
end
print(x)
variable globale
variable local dans le script
variable local dans le while
2, 4, 6, 8...
variable local dans le then
22
10 (variable globale)
10 (variable globale)
Conditions
CODE
if then else
Les structures sont,
if [condition] then
code
end
if a<0 then a = 0 end
if [condition] then
code
else
code
end
if a<b then return a else return b end
Il est possible d'avoir plusieurs conditions avec elseif.
if op == "+" then
r = a + b
elseif op == "-" then
r = a - b
elseif op == "*" then
r = a*b
elseif op == "/" then
r = a/b
else
error("invalid operation")
end
Les boucles
CODE
while
La structure est while [condition] do code end
local i = 1
while i<100 do
print(i)
i = i + 1
end
Repeat
CODE
Syntaxe :
repeat
code
until [condition]
Tant que la condition n'est pas rempli la boucle s'exerce.
i=0
repeat
i=i+1
until i<10
for numérique
CODE
Il y a aussi une boucle "généric".
La syntaxe est la suivante
for [mini],[maxi],[pas] do code end
Le paramètre [pas] est optionnel.
for i=10,0,-1 do
carre=i*i
end
On peut stopper la boucle avec l'instruction break.
Les fonctions
CODE
Syntaxe
function x()
code
end
Pour appeler la fonction,
x()
Mêmes si la fonction n'a aucuns arguments, les () doivent être écrites.
Passer des arguments
CODE
function carre(x)
x = x * x
end
carre(2) -----> appel la fonction carre(x) avec l'argument x=2.
Retourner des valeurs
Utiliser l'instruction return.
CODE
function carre(x)
a = x * x
return a
end
r = carre(2) -----> r est égal à 4.
Return doit être spécifier en fin de fonction. Si pour une raison ou pour une autre vous avez besoin de retourner une valeur à l'intérieur de votre fonction et plus à la fin, vous devrez lui attribuer un block spécial.
Il est possible de passer plusieurs arguments, et de retourner plusieurs valeurs,
CODE
function Emc2(m,c)
a = c * c
b = m * a
return b,a
end
e,c2 = Emc2(10,2) -----> e = 40 et c2 = 4.
Math
Toutes les fonctions sont spécifiées avec une variable entre parenthèses. Mais pour certaines, les arguments sont précisés.
CODE
set_value(x,y,math.floor(var))
pi=math.pi()
math.abs
math.acos
math.asin
math.atan
math.atan2
math.ceil
math.cos
math.deg
math.exp
math.floor
math.log
math.log10
math.max(a,b,...)
math.min(a,b,...)
math.mod
math.pow(a,B)
math.rad
math.sin
math.sqrt
math.tan
math.frexp
math.ldexp
math.random(*)
math.randomseed(*)
math.pi
valeur absolue
acosinus (angle)
sinus (angle)
atangente (angle)
arrondie à l'entier supérieur
CODE
cosinus (valeur)
conversion en degré
exponentiel
retourne un entier (tronque la partie décimale)
logarythme
CODE
logarythme base 10
valeur maximum
valeur minimum
Puissance
CODE
conversion en radian
sinus (valeur)
racine carré
tangente (valeur)
retourne un nombre "aléatoire" entre 0 et 1
graine pour le générateur de nombre
constante pi
Tuto réalisé par Tounet membre du forum.