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