English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

运算符 Lua

Un opérateur est un symbole spécial utilisé pour informer l'interpréteur d'exécuter une opération mathématique ou logique spécifique. Lua fournit plusieurs types d'opérateurs :

  • Opérateurs d'arithmétique

  • Opérateurs de relation

  • Opérateurs logiques

  • Autres opérateurs

Opérateurs d'arithmétique

Le tableau suivant liste les opérateurs d'arithmétique courants dans le langage Lua, en définissant la valeur de A comme10,La valeur de B est 20 :

OpérateurDescriptionExemple
+AdditionA + Le resultat de B 30
-SoustractionA - Le resultat de B -10
*MultiplicationA * Le resultat de B 200
/DivisionB / A w resultat de la sortie 2
%ResteB % A resultat de la sortie 0
^PuissanceA^2 Le résultat de la sortie 100
-Le signe négatif-Le résultat de A -10

Exemple en ligne

Nous pouvons mieux comprendre l'application des opérateurs d'arithmétique à travers l'exemple suivant :

a = 21
b = 10
c = a + b
print("Ligne 1 - La valeur de c est ",c ",c)
c = a - b
print("Ligne 2 - La valeur de c est ",c ",c)
c = a * b
print("Ligne 3 - La valeur de c est ",c ",c)
c = a / b
print("Ligne 4 - La valeur de c est ",c ",c)
c = a % b
print("Ligne 5 - La valeur de c est ",c ",c)
c = a^2
print("Ligne 6 - La valeur de c est ",c ",c)
c = -a
print("Ligne 7 - La valeur de c est ",c ",c)

résultat d'exécution du programme suivant :

Ligne 1 - La valeur de c est     31
Ligne 2 - La valeur de c est     11
Ligne 3 - La valeur de c est     210
Ligne 4 - La valeur de c est     2.1
Ligne 5 - La valeur de c est     1
Ligne 6 - La valeur de c est     441
Ligne 7 - La valeur de c est     -21

Opérateurs de relation

Le tableau suivant liste les opérateurs de relation courants dans le langage Lua, en définissant la valeur de A comme10,La valeur de B est 20 :

OpérateurDescriptionExemple
==Égal, vérifie si deux valeurs sont égales, retourne true si elles sont égales, sinon retourne false(A == B) est false.
~=Inégal, vérifie si deux valeurs sont égales, retourne true si elles ne sont pas égales, sinon retourne false(A ~= B) est true.
>Supérieur, renvoie true si la valeur de gauche est supérieure à la valeur de droite, sinon renvoie false(A > B) est false.
<Inférieur, renvoie false si la valeur de gauche est supérieure à la valeur de droite, sinon renvoie true(A < B) est true.
>=Supérieur ou égal, renvoie true si la valeur de gauche est supérieure ou égale à la valeur de droite, sinon renvoie false(A >= B) renvoie false.
<=Inférieur ou égal, renvoie true si la valeur de gauche est inférieure ou égale à la valeur de droite, sinon renvoie false(A <= B) renvoie true.

Exemple en ligne

Nous pouvons mieux comprendre l'application des opérateurs de relation à travers l'exemple suivant :

a = 21
b = 10
if( a == b )
then
   print("Ligne 1 - a é égal à b" )
else
   print("Ligne 1 - a n'est pas égal à b" )
end
if( a ~= b )
then
   print("Ligne 2 - a n'est pas égal à b" )
else
   print("Ligne 2 - a é égal à b" )
end
if ( a < b )
then
   print("Ligne 3 - a est inférieur à b" )
else
   print("Ligne 3 - a est supérieur ou égal à b" )
end
if ( a > b ) 
then
   print("Ligne 4 - a est supérieur à b" )
else
   print("Ligne 5 - a est inférieur ou égal à b" )
end
-- Modifier les valeurs de a et b
a = 5
b = 20
if ( a <= b ) 
then
   print("Ligne 5 - a est inférieur ou égal à b" )
end
if ( b >= a ) 
then
   print("Ligne 6 - b est supérieur ou égal à a" )
end

résultat d'exécution du programme suivant :

Ligne 1 - a n'est pas égal à b
Ligne 2 - a n'est pas égal à b
Ligne 3 - a est supérieur ou égal à b
Ligne 4 - a est supérieur à b
Ligne 5 - a est inférieur ou égal à b
Ligne 6 - b est supérieur ou égal à a

Opérateurs logiques

Le tableau suivant liste les opérateurs logiques courants dans le langage Lua, en définissant la valeur de A comme true et la valeur de B comme false :

OpérateurDescriptionExemple
andOpérateur de logique et. Si A est false, retourne A, sinon retourne B.(A and B) est false.
orOpérateur de logique ou. Si A est true, retourne A, sinon retourne B.(A or B) est true.
notOpérateur de négation logique. Oppose le résultat de l'opération logique, si la condition est true, la négation logique est false.not(A and B) est true.

Exemple en ligne

Nous pouvons mieux comprendre l'application des opérateurs logiques à l'aide des exemples suivants :

a = true
b = true
if ( a and b )
then
   print("a and b - Condition est true" )
end
if ( a or b )
then
   print("a or b - Condition est true" )
end
print("---------Ligne de séparation---------" )
-- Modifier les valeurs de a et b
a = false
b = true
if ( a and b )
then
   print("a and b - Condition est true" )
else
   print("a and b - Condition est false" )
end
if ( not( a and b) )
then
   print("not( a and b) - Condition est true" )
else
   print("not( a and b) - Condition est false" )
end

résultat d'exécution du programme suivant :

a and b - Condition est true
a or b - Condition est true
---------Ligne de séparation---------
a and b - Condition est false
not( a and b) - Condition est true

Autres opérateurs

Le tableau suivant liste les opérateurs de concaténation et les opérateurs de calcul de longueur de table ou de chaîne de caractères dans le langage Lua :

OpérateurDescriptionExemple
..Connecter deux chaînes de caractèresa..b ,où a est "Hello " et b est "World", le résultat de la sortie est "Hello World".
#Opérateur unaire, retourne la longueur de la chaîne ou de la table.#"Hello" retourne 5

Exemple en ligne

Nous pouvons mieux comprendre l'application de l'opérateur de concaténation et de l'opérateur de longueur de table ou de chaîne de caractères à l'aide des exemples suivants :

a = "Hello "
b = "World"
print("Connecter les chaînes de caractères a et b ", a..b )
print("b chaine de caractères ",#b )
print("longueur de la chaîne 'Test'",#"Test")
print("longueur de l'URL du site Web de base教程",#"www.w")3codebox.com"

résultat d'exécution du programme suivant :

chaînes connectées a et b
longueur de la chaîne b     5
longueur de la chaîne 'Test'     4
longueur de l'URL du site Web de base教程     14

Priorité des opérateurs

de haut en bas :

^
not    - (unary)
*      /       %
+      -
..
< > <= >= ~= ==
and
or

Tous les opérateurs binaires, sauf ^ et .., sont liés à gauche.

a+i < b/2+1          <-->+i) < ((b/2)+1)
5+>2*8              <-->       5+((x^2)*8)
a < y and y <= z--> (a < y) and (y <= z)
->2                 <-->       ->2)
x^y^z--> x^(y^z)

Exemple en ligne

Nous pouvons mieux comprendre la priorité des opérateurs du langage Lua à travers les exemples suivants :

a = 20
b = 10
c = 15
d = 5
e = (a + b) * c / d;-- ( 30 * 15 ) / 5
print("(a + b) * c / valeur d'opération :
e = ((a + b) * c) / d; -- (30 * 15 ) / 5
print("((a + b) * c) / valeur d'opération :
e = (a + b) * (c / d);-- (30) * (15/5)
print("(a + b) * (c / valeur d'opération :
e = a + (b * c) / d;  -- 20 + (150/5)
print("a + (b * c) / valeur d'opération :

résultat d'exécution du programme suivant :

(a + b) * c / valeur d'opération :    90.0
((a + b) * c) / valeur d'opération :    90.0
(a + b) * (c / valeur d'opération :    90.0
a + (b * c) / valeur d'opération :    50.0