Latest web development tutorials

opérateur Lua

Opérateur est un symbole spécial, utilisé pour dire à l'interprète pour effectuer des opérations mathématiques ou logiques spécifiques. Lua fournit les types d'opérateurs suivants:

  • Les opérateurs arithmétiques
  • opérateurs relationnels
  • opérateurs logiques
  • D'autres opérateurs

Les opérateurs arithmétiques

Le tableau suivant répertorie la langue Lua couramment utilisé opérateurs arithmétiques, définissez la valeur de A 10, la valeur de B de 20:

opérateurs description Exemples
+ addition Une sortie + B 30
- soustraction A - sortie B -10
* multiplication Une sortie * B 200
/ division B / A w sortie 2
% reste B% Une sortie 0
^ Exponentiation A ^ 2 sortie 100
- signe moins -A V Sortie -10

Exemples

Nous pouvons à travers les exemples suivants à une compréhension plus approfondie de l'application des opérateurs arithmétiques:

a = 21
b = 10
c = a + b
print("Line 1 - c 的值为 ", c )
c = a - b
print("Line 2 - c 的值为 ", c )
c = a * b
print("Line 3 - c 的值为 ", c )
c = a / b
print("Line 4 - c 的值为 ", c )
c = a % b
print("Line 5 - c 的值为 ", c )
c = a^2
print("Line 6 - c 的值为 ", c )
c = -a
print("Line 7 - c 的值为 ", c )

Les résultats de l'exécution du programme ci-dessus:

Line 1 - c 的值为 	31
Line 2 - c 的值为 	11
Line 3 - c 的值为 	210
Line 4 - c 的值为 	2.1
Line 5 - c 的值为 	1
Line 6 - c 的值为 	441
Line 7 - c 的值为 	-21

opérateurs relationnels

Le tableau suivant répertorie la langue Lua couramment utilisé opérateurs relationnels, définir une valeur de 10, la valeur B de 20:

opérateurs description Exemples
== Equal, vérifier si deux valeurs sont égales, rendements égaux vrai, sinon false (A == B) est fausse.
~ = Ne correspond pas à détecter si deux valeurs sont égales, les rendements égaux faux, sinon elle retourne true < (A ~ = B) est vrai.
> Plus grand que si la valeur est supérieure à la valeur du côté droit vers la gauche, renvoie true, sinon false (A> B) est fausse.
< Moins, supérieure à la valeur si la valeur de la gauche vers la droite, et retourne false, sinon il retourne vrai (A <B) est vrai.
> = Supérieur ou égal, si la valeur est supérieure ou égale à la droite de la gauche, elle renvoie true, sinon false (A> = B) retourne false.
<= Ou moins, si la valeur est inférieure ou égale valeur à la droite de la gauche, renvoie true, sinon false (A <= B) renvoie true.

Exemples

Nous pouvons à travers les exemples suivants à une compréhension plus approfondie de l'application des opérateurs relationnels:

a = 21
b = 10

if( a == b )
then
   print("Line 1 - a 等于 b" )
else
   print("Line 1 - a 不等于 b" )
end

if( a ~= b )
then
   print("Line 2 - a 不等于 b" )
else
   print("Line 2 - a 等于 b" )
end

if ( a < b )
then
   print("Line 3 - a 小于 b" )
else
   print("Line 3 - a 大于等于 b" )
end

if ( a > b ) 
then
   print("Line 4 - a 大于 b" )
else
   print("Line 5 - a 小于等于 b" )
end

-- 修改 a 和 b 的值
a = 5
b = 20
if ( a <= b ) 
then
   print("Line 5 - a 小于等于  b" )
end

if ( b >= a ) 
then
   print("Line 6 - b 大于等于 a" )
end

Les résultats de l'exécution du programme ci-dessus:

Line 1 - a 不等于 b
Line 2 - a 不等于 b
Line 3 - a 大于等于 b
Line 4 - a 大于 b
Line 5 - a 小于等于  b
Line 6 - b 大于等于 a

opérateurs logiques

Le tableau suivant répertorie la langue Lua couramment utilisé opérateurs logiques, définir une valeur true, la valeur de B est fausse:

opérateurs description Exemples
et ET logique opérateur. Si les deux sont vrais état de fonctionnement est vrai. (A et B) est faux.
ou OU logique opérateur. Si une opération est vrai des deux côtés de onze condition est vraie. (A ou B) est vraie.
pas NON logique opérateur. Et opération logique contraire, si la condition est vraie, la négation logique est fausse. pas (A et B) est vrai.

Exemples

Nous pouvons à travers les exemples suivants à une compréhension plus approfondie de l'application des opérateurs logiques:

a = true
b = true

if ( a and b )
then
   print("a and b - 条件为 true" )
end

if ( a or b )
then
   print("a or b - 条件为 true" )
end

print("---------分割线---------" )

-- 修改 a 和 b 的值
a = false
b = true

if ( a and b )
then
   print("a and b - 条件为 true" )
else
   print("a and b - 条件为 false" )
end

if ( not( a and b) )
then
   print("not( a and b) - 条件为 true" )
else
   print("not( a and b) - 条件为 false" )
end

Les résultats de l'exécution du programme ci-dessus:

a and b - 条件为 true
a or b - 条件为 true
---------分割线---------
a and b - 条件为 false
not( a and b) - 条件为 true

D'autres opérateurs

Le tableau suivant dresse la liste des concaténation de langue opérateur et de calcul des tables Lua ou la longueur des opérateurs de chaîne:

opérateurs description Exemples
.. Concaténer deux chaînes a..b, qui est un "Bonjour", b est "World", la sortie est "Bonjour tout le monde".
# opérateur unaire, renvoie la longueur de la chaîne ou de la table. # "Bonjour" renvoie 5

Exemples

Nous pouvons à travers les exemples suivants à une compréhension plus approfondie de la connexion avec la longueur de table de calcul des applications de l'opérateur de l'opérateur ou de chaîne:

a = "Hello "
b = "World"

print("连接字符串 a 和 b ", a..b )

print("b 字符串长度 ",#b )

print("字符串 Test 长度 ",#"Test" )

print("w3cschool本教程网址长度 ",#"www.w3cschool.cc" )

Les résultats de l'exécution du programme ci-dessus:

连接字符串 a 和 b 	Hello World
b 字符串长度 	5
字符串 Test 长度 	4
w3cschool本教程网址长度 	16

Préséance de l'opérateur

Dans l'ordre décroissant:

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

En plus de tout l'extérieur .. ^ et opérateurs binaires sont laissés connectés.

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

Exemples

Nous pouvons à travers les exemples suivants à une compréhension plus approfondie de la priorité Lua opérateur de langue:

a = 20
b = 10
c = 15
d = 5

e = (a + b) * c / d;-- ( 30 * 15 ) / 5
print("(a + b) * c / d 运算值为  :",e )

e = ((a + b) * c) / d; -- (30 * 15 ) / 5
print("((a + b) * c) / d 运算值为 :",e )

e = (a + b) * (c / d);-- (30) * (15/5)
print("(a + b) * (c / d) 运算值为 :",e )

e = a + (b * c) / d;  -- 20 + (150/5)
print("a + (b * c) / d 运算值为   :",e )

Les résultats de l'exécution du programme ci-dessus:

(a + b) * c / d 运算值为  :	90.0
((a + b) * c) / d 运算值为 :	90.0
(a + b) * (c / d) 运算值为 :	90.0
a + (b * c) / d 运算值为   :	50.0