Latest web development tutorials

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