Opérateurs

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Un opérateur est un symbole pour effectuer une opération ou une évaluation conditionnelle.

Logique

Les opérateurs logiques renvoient des valeurs en fonction des valeurs booléennes des arguments donnés. Si un argument n'est pas false ou nil, alors l'opérateur l'évalue comme true. Contrairement à de nombreux autres langages, Luau considère à la fois zéro et la chaîne vide comme true. Le tableau suivant résume comment les opérateurs logiques se comportent dans les conditions.

OpérateurDescriptions
andS'évalue comme true uniquement si les deux conditions sont vraies
orS'évalue comme true si l'une des conditions est vraie
notS'évalue comme l'opposé de la condition

and

L'opérateur binaire and renvoie l'un des deux arguments. Si le premier argument s'évalue à true, alors il renvoie le deuxième argument. Sinon, il renvoie le premier argument.


print(4 and 5) -- 5
print(nil and 12) -- nil
print(false and 12) -- false
print(false and true) -- false
print(false and false) -- false
print(true and false) -- false
print(true and true) -- true

Vous pouvez utiliser and pour tester plusieurs conditions dans les structures de contrôle telles que les if statements et les while loops. Par exemple, l'instruction ifthen suivante teste que deux conditions sont toutes deux vraies :


local pasta = true
local tomatoSauce = true
if pasta == true and tomatoSauce == true then
print("Nous avons un dîner de spaghetti")
else
print("Il manque quelque chose...")
end
-- Sortie : Nous avons un dîner de spaghetti

or

L'opérateur binaire or renvoie l'un des deux arguments. Si le premier argument s'évalue à true, alors il renvoie le premier argument. Sinon, il renvoie le deuxième argument.


local y = x or 1
print(y) -- 1 car x n'existe pas et est donc nil
local d = false
local e = d or 1
print(e) -- 1 car d est false
print(4 or 5) -- 4
print(nil or 12) -- 12
print(false or 12) -- 12
print(false or true) -- true
print(false or false) -- false
print(true or false) -- true
print(true or true) -- true

Vous pouvez utiliser or pour effectuer des tests logiques complexes dans les structures de contrôle. Par exemple, l'instruction ifthen suivante teste si deux conditions sont vraies ou si une troisième condition est vraie :


local pasta = false
local tomatoSauce = true
local garlicBread = true
if (pasta == true and tomatoSauce == true) or garlicBread == true then
print("Nous avons soit un dîner de spaghetti SOIT du pain à l'ail")
else
print("Il manque quelque chose...")
end
-- Sortie : Nous avons soit un dîner de spaghetti SOIT du pain à l'ail

not

L'opérateur unaire not renvoie la valeur booléenne opposée de l'argument. Si l'argument est false ou nil, alors il renvoie true. Sinon, il renvoie false.


print(not true) -- false
print(not false) -- true
print(not nil) -- true
print(not "text") -- false
print(not 0) -- false

Vous pouvez utiliser l'opérateur not pour déclencher une condition ou une boucle si une variable est false ou nil.


local nilVariable -- La variable est déclarée mais n'a pas de valeur, donc elle est nil
local falseVariable = false -- La variable est déclarée avec une valeur de false
if not nilVariable then
print(nilVariable) -- Affiche "nil" car nil n'est pas true
end
if not falseVariable then
print(falseVariable) -- Affiche "false" car false n'est pas true
end

Vous pouvez également utiliser l'opérateur not pour tester l'opposé d'une déclaration à plusieurs conditions. Dans l'exemple de code suivant, la condition ifthen teste qu'il n'est ni vrai que trois est supérieur à quatre, ni vrai que cinq est supérieur à quatre.


local three = 3
local four = 4
local five = 5
if not (three > four or five < four) then
print("Trois est inférieur à 4 et cinq est supérieur à 4.")
end
-- Sortie : Trois est inférieur à 4 et cinq est supérieur à 4.

Relationnel

Les opérateurs relationnels comparent deux paramètres et renvoient une booléen: true ou false.

OpérateurDescriptionExempleMétaméthode associée
==Égal à3 == 5false__eq
~=Pas égal à3 ~= 5true
>Supérieur à3 > 5false
<Inférieur à3 < 5true__lt
>=Supérieur ou égal à3 >= 5false
<=Inférieur ou égal à3 <= 5true__le

Arithmétique

Luau prend en charge les opérateurs binaires habituels ainsi que l'exponentiation, le reste, et la négation unaire.

OpérateurDescriptionExempleMétaméthode associée
+Addition1 + 1 = 2__add
-Soustraction1 - 1 = 0__sub
*Multiplication5 * 5 = 25__mul
/Division10 / 5 = 2__div
//Division entière

10 // 4 = 2
-10 // 4 = -3

__idiv
^Exponentiation2 ^ 4 = 16__pow
%Reste13 % 7 = 6__mod
-Négation unaire-2 = 0 - 2__unm

Affectation composée

Vous pouvez utiliser des opérateurs d'affectation composés pour définir une variable égale au résultat d'une opération où le premier paramètre est la valeur actuelle de la variable.

L'opération dans une affectation composée se produit une seule fois. Par exemple, si une expression génère un indice aléatoire dans un tableau, Luau utilise le même indice à la fois pour l'opération et pour l'affectation.

Dans les exemples suivants, supposons que local x = 3.

OpérateurOperationExempleNouvelle valeur de x
+=Additionx += 25
-=Soustractionx -= 21
*=Multiplicationx *= 26
/=Divisionx /= 21.5
//=Division entièrex //= 21
%=Restex %= 21
^=Exponentiationx ^= 29
..=Concaténationx ..= " World!" "3 World!"

Divers

Les opérateurs divers incluent la concaténation et la longueur.

OpérateurDescriptionExempleMétaméthode associée
..Concatène deux chaînesprint("Bonjour " .. "Monde !")__concat
#Longueur de tableSi tableVar = {1, 2, 3}, alors #tableVar == 3.__len
©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.