Euphoria - Người điều hành
Euphoria cung cấp một tập hợp các toán tử phong phú để thao tác các biến. Chúng ta có thể chia tất cả các toán tử Euphoria thành các nhóm sau:
- Toán tử số học
- Toán tử quan hệ
- Toán tử logic
- Người điều hành nhiệm vụ
- Nhà điều hành khác
Các toán tử số học
Các toán tử số học được sử dụng trong các biểu thức toán học giống như cách chúng được sử dụng trong Đại số. Bảng sau liệt kê các toán tử số học. Giả sử biến số nguyên A giữ 10 và biến B giữ 20 thì -
Hiển thị các ví dụ
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
+ | Phép cộng - Thêm giá trị vào hai bên của toán tử | A + B sẽ cho 30 |
- | Phép trừ - Trừ toán hạng bên phải khỏi toán hạng bên trái | A - B sẽ cho -10 |
* | Phép nhân - Nhân các giá trị ở một trong hai bên của toán tử | A * B sẽ cho 200 |
/ | Phép chia - Chia toán hạng bên trái cho toán hạng bên phải | B / A sẽ cho 2 |
+ | Cộng một bậc - Điều này không ảnh hưởng đến giá trị biến. | + B cho 20 |
- | Trừ một bậc - Điều này tạo ra một giá trị âm của biến đã cho. | -B cho -20 |
Các toán tử quan hệ
Có các toán tử quan hệ sau được hỗ trợ bởi ngôn ngữ Euphoria. Giả sử biến A giữ 10 và biến B giữ 20 thì -
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) là 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 đúng. | (A> B) 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. |
Các toán tử logic
Bảng sau đây liệt kê các toán tử logic. Giả sử biến boolean A giữ 1 và biến B giữ 0 thì -
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. |
xor | Được gọi là Toán tử XOR logic. Điều kiện là đúng nếu một trong số chúng đúng, nếu cả hai toán hạng đều đúng hoặc sai thì điều kiện trở thành sai. | (A xor B) là đúng. |
không phải | Được gọi là Toán tử logic NOT phủ định kết quả. Sử dụng toán tử này, true trở thành false và false trở thành true | không (B) là đúng. |
Bạn cũng có thể áp dụng các toán tử này cho các số khác 1 hoặc 0. Quy ước là: không có nghĩa là sai và khác 0 có nghĩa là đúng .
Người điều hành nhiệm vụ
Có các toán tử gán sau được ngôn ngữ Euphoria hỗ trợ:
Hiển thị các ví dụ
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
= | Toán tử gán đơn giản, Gán giá trị từ toán hạng bên phải sang toán hạng bên trái | C = A + B sẽ gán giá trị của A + B vào C |
+ = | Thêm toán tử gán AND, Nó thêm toán hạng bên phải vào toán hạng bên trái và gán kết quả cho toán hạng bên trái | C + = A tương đương với C = C + A |
- = | Trừ toán tử gán AND, Nó trừ toán hạng bên phải khỏi toán hạng bên trái và gán kết quả cho toán hạng bên trái | C - = A tương đương với C = C - A |
* = | Nhân toán tử gán AND, Nó nhân toán hạng bên phải với toán hạng bên trái và gán kết quả cho toán hạng bên trái | C * = A tương đương với C = C * A |
/ = | Toán tử gán AND, Nó chia toán hạng bên trái với toán hạng bên phải và gán kết quả cho toán hạng bên trái | C / = A tương đương với C = C / A |
& = | Điều hành nối | C & = {2} giống với C = {C} & {2} |
Note - Ký hiệu dấu bằng '=' được sử dụng trong câu lệnh gán không phải là một toán tử, nó chỉ là một phần của cú pháp.
Các nhà khai thác khác
Có một số toán tử khác được hỗ trợ bởi Euphoria Language.
Toán tử '&'
Bất kỳ hai đối tượng nào cũng có thể được nối bằng toán tử “&”. Kết quả là một dãy có độ dài bằng tổng độ dài của các đối tượng được nối.
Ví dụ -
#!/home/euphoria-4.0b2/bin/eui
sequence a, b, c
a = {1, 2, 3}
b = {4}
c = {1, 2, 3} & {4}
printf(1, "Value of c[1] %d\n", c[1] )
printf(1, "Value of c[2] %d\n", c[2] )
printf(1, "Value of c[3] %d\n", c[3] )
printf(1, "Value of c[4] %d\n", c[4] )
Điều này tạo ra kết quả sau:
Value of c[1] 1
Value of c[2] 2
Value of c[3] 3
Value of c[4] 4
Mức độ ưu tiên của các nhà điều hành hưng phấn
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 +.
Do đó, đầu tiên nó bắt đầu với 3 * 2 và sau đó thêm vào 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 được đánh giá đầu tiên.
thể loại | Nhà điều hành | Sự liên kết |
---|---|---|
Postfix | hàm / loại cuộc gọi | |
Một ngôi | + -! không phải | Phải sang trái |
Phép nhân | * / | Trái sang phải |
Phụ gia | + - | Trái sang phải |
Kết nối | & | 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 |
XOR logic | xor | Trái sang phải |
Dấu phẩy | , | Trái sang phải |