Operator Lua
Operator adalah simbol khusus, digunakan untuk memberitahu penafsir untuk melakukan operasi matematika atau logis tertentu. Lua memberikan jenis berikut operator:
- operator aritmatika
- Operator relasional
- Operator logis
- operator lain
operator aritmatika
Tabel berikut berisi daftar bahasa Lua umum digunakan operator aritmatika, mengatur nilai A 10, nilai B dari 20:
operator | deskripsi | contoh |
---|---|---|
+ | tambahan | A + B keluaran 30 |
- | pengurangan | A - B keluaran -10 |
* | perkalian | A * B 200 keluaran |
/ | divisi | B / A w keluaran 2 |
% | sisa | B% A keluaran 0 |
^ | eksponensial | A ^ 2 keluaran 100 |
- | tanda negatif | -A Keluaran v -10 |
contoh
Kita dapat melalui contoh berikut untuk pemahaman yang lebih mendalam tentang penerapan operator aritmatika:
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 )
Atas hasil pelaksanaan program:
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
Operator relasional
Tabel berikut berisi daftar bahasa Lua umum digunakan operator relasional, menetapkan A nilai 10, nilai B dari 20:
operator | deskripsi | contoh |
---|---|---|
== | Sama, pengujian apakah dua nilai yang sama, hasil yang sama true, false jika tidak | (A == B) adalah palsu. |
~ = | Tidak sama dengan mendeteksi apakah dua nilai yang sama, hasil yang sama palsu, jika tidak maka kembali benar < | (A ~ = B) benar. |
> | Lebih besar dibandingkan jika nilai lebih besar dari nilai sisi kanan ke kiri, mengembalikan nilai true, false jika tidak | (A> B) adalah palsu. |
< | Kurang dari, lebih besar dari nilai jika nilai kiri ke kanan, dan mengembalikan false, jika tidak maka kembali benar | (A <B) benar. |
> = | Lebih besar atau sama, jika nilai lebih besar dari atau sama dengan hak kiri, ia mengembalikan true, false jika tidak | (A> = B) kembali palsu. |
<= | Atau kurang, jika nilai kurang dari atau sama nilainya ke kanan kiri, mengembalikan nilai true, false jika tidak | (A <= B) mengembalikan nilai true. |
contoh
Kami dapat melalui contoh-contoh berikut untuk pemahaman yang lebih mendalam tentang penerapan operator relasional:
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
Atas hasil pelaksanaan program:
Line 1 - a 不等于 b Line 2 - a 不等于 b Line 3 - a 大于等于 b Line 4 - a 大于 b Line 5 - a 小于等于 b Line 6 - b 大于等于 a
Operator logis
Tabel berikut berisi daftar bahasa Lua umum digunakan operator logika, mengatur A nilai true, nilai B adalah palsu:
operator | deskripsi | contoh |
---|---|---|
dan | Logis operator AND. Jika keduanya benar kondisi operasi benar. | (A dan B) adalah palsu. |
atau | Logis ATAU operator. Jika operasi apapun benar di kedua sisi sebelas kondisi benar. | (A atau B) benar. |
tidak | Logis TIDAK operator. Dan operasi logika sebaliknya, jika kondisi benar, negasi logis adalah palsu. | tidak (A dan B) benar. |
contoh
Kami dapat melalui contoh-contoh berikut untuk pemahaman yang lebih mendalam tentang penerapan operator logika:
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
Atas hasil pelaksanaan program:
a and b - 条件为 true a or b - 条件为 true ---------分割线--------- a and b - 条件为 false not( a and b) - 条件为 true
operator lain
Tabel berikut mencantumkan Lua bahasa Rangkaian operator dan perhitungan tabel atau panjang operator tali:
operator | deskripsi | contoh |
---|---|---|
.. | Concatenating dua string | a..b, yang merupakan "Hello", b adalah "Dunia", output "Hello World". |
# | Operator unary, mengembalikan panjang string atau meja. | # "Hello" kembali 5 |
contoh
Kami dapat melalui contoh-contoh berikut untuk pemahaman yang lebih menyeluruh dari koneksi dengan aplikasi operator yang panjang meja perhitungan operator atau tali:
a = "Hello " b = "World" print("连接字符串 a 和 b ", a..b ) print("b 字符串长度 ",#b ) print("字符串 Test 长度 ",#"Test" ) print("w3cschool本教程网址长度 ",#"www.w3cschool.cc" )
Atas hasil pelaksanaan program:
连接字符串 a 和 b Hello World b 字符串长度 5 字符串 Test 长度 4 w3cschool本教程网址长度 16
Precedence Operator
Dalam urutan:
^ not - (unary) * / + - .. < > <= >= ~= == and or
Selain semua di luar .. ^ dan operator biner yang tersisa terhubung.
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)
contoh
Kami dapat melalui contoh-contoh berikut untuk pemahaman yang lebih menyeluruh dari operator didahulukan bahasa Lua:
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 )
Atas hasil pelaksanaan program:
(a + b) * c / d 运算值为 : 90.0 ((a + b) * c) / d 运算值为 : 90.0 (a + b) * (c / d) 运算值为 : 90.0 a + (b * c) / d 运算值为 : 50.0