Home CheatSheet LUA
Post
Cancel

CheatSheet LUA

Variables

1
2
3
4
a = 5
b = 9
a,b = 0,1
print(a+b)

Typage dynamique

La variable connait son type en fonction de la valeur ou de l’objet qui lui ai assigné.

1
2
a = 1
a = {nom = "monkey"}

On peut obtenir le type d’une variable grace à type()
print(a,type(a))

Concatenation

1
2
3
age = 25
nom = "monkey"
print(" Je suis "..nom.."j'ai \t"..age.."ans")

Casse

  • Sensible

Incrémentation

1
age = age + 1

Fonctions

1
2
3
4
5
6
7
8
9
10
11
12
13
function foo(nom)
	prenom = "linux"
	print("hello "..nom)

	return nom.." "..prenom 
end 

-- autre methode : assigner function() à une variable.
x = function() 
		print("hello)
	end
print(x())

On peut renvoyer plusieurs variables dans une fonction.

1
2
3
4
5
function foo(a,b)
	return math.pow(a,b),math.pow(c*b,a)
end

print(foo(2,7))

On peut renvoyer dans une table tab = {foo(2,3)} et utiliser pairs() pour la lire.

Dans une fonction qui renvoit plusieurs valeurs, on peut extraire que la première valeur var = (foo(2,1))
Ici var n’est pas une table.

ou bien le premier élement de la table tab = ({foo(2,3)})[1]
Ici var n’est pas une table.

Booléen

1
2
not true == false
(true ~= false) retourne true

nil

  • Veut dire la variable n’a aucune valeur asignée.

tables

1
2
tab = {}
	print(x)
  • Affiche l’adresse mémoire de la table.
1
2
3
4
tab = {nom = "monkey", age = "25"}
	print(tab.nom)
	print(tab.age)
	print(tab[1]) --Faux car  tab est un dictionnaire
table 2D
1
2
3
tab = { data={age="25",emplois="ingenieur"}, data2={passion="retogaming",fruit="melon"} }
print(tab.data.age)
print(tab.data2.fruit)

dictionnaire

En lua tout est une question de table
1
2
3
4
tab = {} -- cree une table vide 
tab[1]=1,tab[2]=2 -- cette ligne ==
tab = {1, 2} -- à cette ligne 
tab = {[1]=1,[2]=2} -- == à cete ligne
1
2
3
tab = {} -- ces deux ligne sont les  équivalentes
tab.fruit="orange"
tab["fruit"]="orange"
1
2
3
4
5
tab = {} -- ces deux ligne sont les  équivalentes
tab["fruit"]={} -- creer une table fruit dans tab
tab["fruit"].couleur="orange" -- creer un doctionnaire dans la table fruit
-- on peut refaire tout ça en une ligne 
tab.fruit.couleur ="orange"
1
print(#tab) -- Donne la taille de la table 

Si c’est un dictionnaire, #tab revoit 0

Instructions de selection

While ..do ..end
1
2
3
4
5
6
7
i = 0
while i < 10 do 
	print("hello \t"..i)
	i = i + 1
end
use break to break

repeat .. until
1
2
3
4
5
6
i = 0
	repeat
		print("Hello World!")
		i = i+1
	until i ==10
use break  to break
for .i, limit, step.. do .. end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-- Numeric iteration
for i = 0,10 do 
	print("hello")
end 

-- sequential iteration
tab = {1,2, fruit = "banane", "monkey", 8}
	for key,value in pairs(tab) do
		print(key,value)
	end

	--keys : sont les index
	--value : sont les valeurs
	--fruit = "banane" est un dictionnaire donc donc index est toujours le dernier
	--donc c'est le dernier à être affiché
next()
print(next(tab,"pi")) afficher la prochaie paire (key,value)

pairs() permet d’itérer sur une paire (key,value)
ipair() permet d’itérer que sur une paire (index,value) ce qui veut dire qu’il affiche pas les dictionnaires {nom="monkey"}

Itération avec next()
1
2
3
4
5
6
for key,value in next,tab,nil do 
	print(key,value)
end

--applique next() à tab en commençant par nil(car next nil c'est index 1) 
--la boucle for est exécuté jusqu'à ce que next() renvoit nil, nil signifie extrémité de la table
if .. then ..else .. end
1
2
if.. then ..else ..end
if ..then ..elseif..then..else ..end

Portée des variables

  • Pour appeler une variable d’un autres fichier : require("nomFichier")
  • Un fichier peut retrouner une valeur en LUA si on met à sa fin return nomVariable
  • On peut créer une variable local à un bloc :
1
2
3
if true then 
	local var = 30 -- existe que dans ce bloc 
end 
  • une variable global est prioritaire dans le cas d’un require:
1
2
3
4
var = 30
require ("nomFichier") -- Il y a une variable var = 30 à l'intérieur

print(var) -- Affiche 30
This post is licensed under CC BY 4.0 by the author.

CheatSheet bash

CheatSheet Love2D