Lua - Nhà điều hành
Toán tử là một ký hiệu yêu cầu trình thông dịch thực hiện các thao tác toán học hoặc logic cụ thể. Ngôn ngữ Lua có nhiều toán tử cài sẵn và cung cấp các loại toán tử sau:
- Toán tử số học
- Toán tử quan hệ
- Toán tử logic
- Nhà điều hành khác
Hướng dẫn này sẽ giải thích từng toán tử số học, quan hệ, logic và các toán tử linh tinh khác.
Toán tử số học
Bảng sau hiển thị tất cả các toán tử số học được ngôn ngữ Lua hỗ trợ. Giả sử biếnA giữ 10 và biến B giữ 20 sau đó -
Hiển thị các ví dụ
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
+ | Thêm hai toán hạng | A + B sẽ cho 30 |
- | Trừ toán hạng thứ hai với toán hạng đầu tiên | A - B sẽ cho -10 |
* | Nhân cả hai toán hạng | A * B sẽ cho 200 |
/ | Chia tử số cho tử số | B / A sẽ cho 2 |
% | Toán tử mô đun và phần còn lại của sau một phép chia số nguyên | B% A sẽ cho 0 |
^ | Toán tử lũy thừa lấy số mũ | A ^ 2 sẽ cho 100 |
- | Đơn nguyên - toán tử hoạt động như một phủ định | -A sẽ cho -10 |
Toán tử quan hệ
Bảng sau đây cho thấy tất cả các toán tử quan hệ được hỗ trợ bởi ngôn ngữ Lua. Giả sử biếnA giữ 10 và biến B giữ 20 sau đó -
Hiển thị các ví dụ
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
== | Kiểm tra xem giá trị của hai toán hạng có bằng nhau hay không, nếu có thì điều kiện trở thành true. | (A == B) không đúng. |
~ = | Kiểm tra xem giá trị của hai toán hạng có bằng nhau hay không, nếu các giá trị không bằng nhau thì điều kiện trở thành true. | (A ~ = B) là đúng. |
> | Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. | (A> B) là không đúng. |
< | Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. | (A <B) là đúng. |
> = | Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn hoặc bằng giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. | (A> = B) là không đúng. |
<= | Kiểm tra xem giá trị của toán hạng bên trái nhỏ hơn hoặc bằng giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. | (A <= B) là đúng. |
Toán tử logic
Bảng sau hiển thị tất cả các toán tử logic được hỗ trợ bởi ngôn ngữ Lua. Giả sử biếnA giữ đúng và biến B sau đó giữ sai -
Hiển thị các ví dụ
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
và | Được gọi là toán tử logic AND. Nếu cả hai toán hạng đều khác 0 thì điều kiện trở thành true. | (A và B) là sai. |
hoặc là | Được gọi là Toán tử logic HOẶC. Nếu bất kỳ toán hạng nào trong hai toán hạng khác 0 thì điều kiện trở thành true. | (A hoặc B) là đúng. |
không phải | Được gọi là Toán tử logic NOT. Sử dụng để đảo ngược trạng thái logic của toán hạng của nó. Nếu một điều kiện là đúng thì toán tử logic NOT sẽ sai. | ! (A và B) là đúng. |
Nhà điều hành khác
Các toán tử khác được Lua Language hỗ trợ bao gồm concatenation và length.
Hiển thị các ví dụ
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
.. | Nối hai chuỗi. | a..b trong đó a là "Hello" và b là "World", sẽ trả về "Hello World". |
# | Toán tử một ngôi trả về độ dài của một chuỗi hoặc một bảng. | # "Xin chào" sẽ trả về 5 |
Quyền ưu tiên của nhà khai thác trong Lua
Mức độ ưu tiên của toán tử xác định nhóm các thuật ngữ trong một biểu thức. Điều này ảnh hưởng đến cách một biểu thức được đánh giá. Một số toán tử nhất định có quyền ưu tiên cao hơn những toán tử khác; ví dụ, toán tử nhân có mức độ ưu tiên cao hơn toán tử cộng -
Ví dụ: x = 7 + 3 * 2; Ở đây x được gán 13, không phải 20 vì toán tử * có mức độ ưu tiên cao hơn + nên trước tiên nó được nhân với 3 * 2 và sau đó cộng thành 7.
Ở đây, các toán tử có mức độ ưu tiên cao nhất xuất hiện ở đầu bảng, những toán tử có mức độ ưu tiên thấp nhất xuất hiện ở cuối bảng. Trong một biểu thức, các toán tử có mức độ ưu tiên cao hơn sẽ được đánh giá đầu tiên.
Hiển thị các ví dụ
thể loại | Nhà điều hành | Sự liên kết |
---|---|---|
Một ngôi | không phải # - | Phải sang trái |
Kết nối | .. | Phải sang trái |
Phép nhân | * /% | Trái sang phải |
Phụ gia | + - | Trái sang phải |
Quan hệ | <> <=> = == ~ = | Trái sang phải |
Bình đẳng | == ~ = | Trái sang phải |
Logic AND | và | Trái sang phải |
Logic HOẶC | hoặc là | Trái sang phải |