Lua Betreiber
Operator ist ein besonderes Symbol, verwendet, um den Interpreter zu sagen, bestimmte mathematische oder logische Operationen auszuführen. Lua bietet die folgenden Arten von Operatoren:
- Arithmetische Operatoren
- Relationale Operatoren
- Logische Operatoren
- Andere Betreiber
Arithmetische Operatoren
Die folgende Tabelle listet die Lua Sprache häufig verwendet, arithmetische Operatoren, den Wert von A 10, B-Wert von 20:
Die Betreiber | Beschreibung | Beispiele |
---|---|---|
+ | Zusatz | A + B-Ausgang 30 |
- | Subtraktion | A - B Ausgang -10 |
* | Multiplikation | A * B 200 Ausgang |
/ | Division | B / A w Ausgang 2 |
% | Rest | B% Ein Ausgang 0 |
^ | Potenzierung | A ^ 2 Ausgang 100 |
- | negatives Vorzeichen | -A Ausgang v -10 |
Beispiele
Wir können durch die folgenden Beispiele auf ein besseres Verständnis der Anwendung von arithmetischen Operatoren:
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 )
Die oben genannten Programmausführung Ergebnisse:
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
Relationale Operatoren
Die folgende Tabelle listet gemeinhin als die Sprache Lua relationalen Operatoren verwendet wird, auf einen Wert von 10, B-Wert von 20:
Die Betreiber | Beschreibung | Beispiele |
---|---|---|
== | Gleich, testen, ob zwei Werte gleich sind, gleiche true zurück, andernfalls false | (A == B) falsch ist. |
~ = | Ist das nicht gleich zu erkennen, ob zwei Werte gleich sind, gleich false zurück, sonst ist es true zurück < | (A ~ = B) ist wahr. |
> | Größer als wenn der Wert größer als der Wert von der rechten Seite nach links, gibt true zurück, andernfalls false | (A> B) falsch ist. |
< | Weniger als, größer als der Wert, wenn der Wert von links nach rechts, und false zurückgibt, andernfalls gibt es wahr | (A <B) wahr ist. |
> = | Größer als oder gleich, wenn der Wert größer als oder gleich der rechten Seite der linken, kehrt es wahr, falsch sonst | (A> = B) gibt false zurück. |
<= | Oder weniger, wenn der Wert kleiner als oder gleich Wert rechts von der linken Seite, gibt true zurück, andernfalls false | (A <= B) gibt true zurück. |
Beispiele
Wir können die folgenden Beispiele auf ein besseres Verständnis der Anwendung von relationalen Operatoren durch:
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
Die oben genannten Programmausführung Ergebnisse:
Line 1 - a 不等于 b Line 2 - a 不等于 b Line 3 - a 大于等于 b Line 4 - a 大于 b Line 5 - a 小于等于 b Line 6 - b 大于等于 a
Logische Operatoren
Die folgende Tabelle listet gemeinhin als die Sprache Lua logischen Operatoren verwendet, stellen Sie einen Wert true, B-Wert ist falsch:
Die Betreiber | Beschreibung | Beispiele |
---|---|---|
und | Logische UND-Operator. Wenn beide gilt Betriebszustand wahr. | (A und B) ist falsch. |
oder | Logische OR-Operator. Wenn ein Vorgang auf beiden Seiten von elf Bedingung wahr ist, ist wahr. | (A oder B) ist wahr. |
nicht | Logischer NOT-Operator. Und Logikoperation Gegenteil, wenn die Bedingung wahr ist, ist die logische Negation false. | nicht (A und B) gilt. |
Beispiele
Wir können die folgenden Beispiele auf ein besseres Verständnis der Anwendung der logischen Operatoren durch:
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
Die oben genannten Programmausführung Ergebnisse:
a and b - 条件为 true a or b - 条件为 true ---------分割线--------- a and b - 条件为 false not( a and b) - 条件为 true
Andere Betreiber
Die folgende Tabelle listet die Sprache Lua Verkettungsoperator und Berechnungstabellen oder die Länge der String-Operatoren:
Die Betreiber | Beschreibung | Beispiele |
---|---|---|
.. | Verketten zwei Strings | a..b, die ein "Hallo" ist, b ist "World", Ausgabe "Hallo Welt" ist. |
# | Unärer Operator, gibt die Länge der Zeichenfolge oder Tabelle. | # "Hallo" liefert 5 |
Beispiele
Wir können mit den Bediener oder String-Länge-Berechnungstabelle Operator-Anwendungen die folgenden Beispiele auf ein besseres Verständnis der Verbindung durch:
a = "Hello " b = "World" print("连接字符串 a 和 b ", a..b ) print("b 字符串长度 ",#b ) print("字符串 Test 长度 ",#"Test" ) print("w3cschool本教程网址长度 ",#"www.w3cschool.cc" )
Die oben genannten Programmausführung Ergebnisse:
连接字符串 a 和 b Hello World b 字符串长度 5 字符串 Test 长度 4 w3cschool本教程网址长度 16
Operator Präzedenz
In absteigender Reihenfolge:
^ not - (unary) * / + - .. < > <= >= ~= == and or
Zusätzlich zu all außen .. ^ und binären Operatoren sind links verbunden.
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)
Beispiele
Wir können die folgenden Beispiele auf ein besseres Verständnis der Sprache Lua Operatorpräzedenz durch:
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 )
Die oben genannten Programmausführung Ergebnisse:
(a + b) * c / d 运算值为 : 90.0 ((a + b) * c) / d 运算值为 : 90.0 (a + b) * (c / d) 运算值为 : 90.0 a + (b * c) / d 运算值为 : 50.0