PSP SOFTWARES LES BASES DU LANGUAGE LUA - Tutoriaux Gx-mod
Logo name
Menu
Navigation

. Accueil



> PSP SOFTWARES LES BASES DU LANGUAGE LUA

Les bases du LUA


Sommaire

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.

Dernière modification de cette page le 14 mars 2007 à 21:31.
  Cette page a été consultée 3 047 fois. 

Reproduction interdite sans autorisation - Copyright © Gx-Mod - Déclaration CNIL 831.

IpbWikiPowered by MediaWiki