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 exécuter une opération ou une évaluation conditionnelle.

Logique

Les opérateurs logiques retournent des valeurs en fonction des valeurs de retour 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 prend en compte à la fois le zéro et la chaîne vide comme 2> tru2> . Le tableau suivant rés

OpérateurDescrivez
etÉvalue comme vrai seulement si les deux conditions sont vraies
ouÉvalue comme vrai si une des conditions est vraie
pasÉvalue comme le contraire de la condition

et

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


print(4 and 5) -- 5
print(nil and 12) -- zéro
print(false and 12) -- faux
print(false and true) -- faux
print(false and false) -- faux
print(true and false) -- faux
print(true and true) -- true

Vous pouvez utiliser and pour tester plusieurs conditions dans structures de contrôle telles que if déclarations et 3> 4> while4> boucles4>. Par exemple, la déclaration suivante 8> if8> — 1> then1> teste que deux conditions sont toutes les deux v


local pasta = true
local tomatoSauce = true
if pasta == true and tomatoSauce == true then
print("We have spaghetti dinner")
else
print("Something is missing...")
end
-- Output: We have spaghetti dinner

ou

L'opérateur binaire or renvoie l'un des deux arguments. Si le premier argument se termine par 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 nul
local d = false
local e = d or 1
print(e) -- 1 car d est faux
print(4 or 5) -- 4
print(nil or 12) -- 12
print(false or 12) -- 12
print(false or true) -- vrai
print(false or false) -- faux
print(true or false) -- vrai
print(true or true) -- true

Vous pouvez utiliser or pour effectuer des tests logiques complexes dans structures de contrôle. Par exemple, la déclaration suivante if — 1> then1> teste si deux conditions sont vraies ou non 4> ou4> 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("We have either spaghetti dinner OR garlic bread")
else
print("Something is missing...")
end
-- Output: We have either spaghetti dinner OR garlic bread

pas

L'opérateur unaire not renvoie la valeur de retour contraire du argument. Si l'argument est false ou nil, il renvoie la valeur de retour 1> tru1> . Sinon, il renvoie 4> false4> .


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

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


local nilVariable -- 变量 est déclaré mais n'a pas de valeur, donc c'est zéro
local falseVariable = false -- Variable est déclaré avec une valeur de faux
if not nilVariable then
print(nilVariable) -- Affiche « nil » car nil n'est pas vrai
end
if not falseVariable then
print(falseVariable) -- Affiche « faux » parce que « faux » n'est pas vrai
end

Vous pouvez également utiliser l'opérateur not pour tester pour le contraire d'une déclaration multicolonnes entière. Dans l'exemple de code suivant, les ifthen les tests conditionnels qui ne sont ni vrai que trois sont plus grands que quatre ni vrai que cinq sont plus grands que quatre.


local three = 3
local four = 4
local five = 5
if not (three > four or five < four) then
print("Three is less than 4 and five is greater than 4.")
end
-- Output: Three is less than 4 and five is greater than 4.

Relationnel

Les opérateurs relationnels comparent deux paramètres et renvoient un button : true ou false.

OpérateurDescriptionExempleMétaméthode associée
==Égal à3 == 5faux__eq
Ne pas être égale à3 5 → oui
>Supérieur à3 > 5faux
<Moins de3 vrai__lt
>=Supérieur à ou égal à3 >= 5faux
Moins de ou égal à3) → vrai__le

Arithmétique

Lua prend en charge les opérateurs binaires habituels, ainsi que l' exponentation, la modulation et la négation unaire.

OpérateurDescriptionExempleMétaméthode associée
+Ajouter1 + 1 = 2__add
-Soustraction1 - 1 = 0__sub
*)Multiplication5 * 5 = 25__mul
/Division10 / 5 = 2__div
//Division du plancher10 // 4 = 2-10 // 4 = -3__idiv
^Exposition2 ^ 4 = 16__pow
%Module13 % 7 = 6__mod
-Négation unaire-2 = 0 - 2__unm

Répartition des composés

Vous pouvez utiliser les opérateurs d'attributs de composé pour définir une variable correspondant à la valeur actuelle d'un paramètre.

L'opération dans une attribuition de composé se produit une fois. Par exemple, si une expression génère un index aléatoire dans une table, Luau utilise le même index pour l'opération et l'attribution.

Dans les exemples suivants, supposez local x = 3 .

OpérateurOpérationExempleNouvelle valeur de x
+=Ajouterx += 25
Soustractionx -= 21
*Multiplicationx*26
/=Divisionx /= 21.5
//=Division du plancherx //= 21
%=)Modulex %= 21
^=Expositionx ^= 29
..=Concaténationx ..= " Monde!"« 3 World ! »

Divers

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

OpérateurDescriptionExempleMétaméthode associée
..Concasse deux chaînesimprimer("Bonjour " .. "Monde !")__concat
#Longueur de la tableSi tableVar = 1, 2, 3 , alors #tableVar == 3 .__len