Clojure - Người điều hành
An operator là một ký hiệu thông báo cho trình biên dịch thực hiện các thao tác toán học hoặc logic cụ thể.
Clojure có các loại toán tử sau:
- Toán tử số học
- Toán tử quan hệ
- Toán tử logic
- Toán tử bitwise
Note - Trong Clojure, các toán tử và toán hạng hoạt động theo cách thức cú pháp sau.
Cú pháp
(operator operand1 operand2 operandn)
Ví dụ,
Thí dụ
(+ 1 2)
Ví dụ trên thực hiện một phép toán số học trên các số 1 và 2.
Toán tử số học
Ngôn ngữ Clojure hỗ trợ các toán tử Số học bình thường như bất kỳ ngôn ngữ nào. Sau đây là các toán tử Số học có sẵn trong Clojure.
Hiển thị các ví dụ
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
+ | Phép cộng hai toán hạng | (+ 1 2) sẽ cho 3 |
- | Trừ toán hạng thứ hai với toán hạng đầu tiên | (- 2 1) sẽ cho 1 |
* | Phép nhân của cả hai toán hạng | (* 2 2) sẽ cho 4 |
/ | Chia tử số cho mẫu số | (float (/ 3 2)) sẽ cho 1,5 |
inc | Toán tử tăng dần được sử dụng để tăng giá trị của một toán hạng lên 1 | inc 5 sẽ cho 6 |
tháng mười hai | Toán tử tăng dần được sử dụng để giảm giá trị của một toán hạng đi 1 | ngày 5 tháng mười hai sẽ cho 4 |
tối đa | Trả về đối số lớn nhất của nó | tối đa 1 2 3 sẽ trả về 3 |
min | Trả về giá trị nhỏ nhất trong số các đối số của nó | tối thiểu 1 2 3 sẽ trả về 1 |
rem | Phần dư của số thứ nhất chia cho số thứ hai | rem 3 2 sẽ cho 1 |
Toán tử quan hệ
Toán tử quan hệ cho phép so sánh các đối tượng. Sau đây là các toán tử quan hệ có sẵn trong Clojure.
Hiển thị các ví dụ
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
= | Kiểm tra sự bằng nhau giữa hai đối tượng | (= 2 2) sẽ cho đúng |
không = | Kiểm tra sự khác biệt giữa hai đối tượng | (not = 3 2) sẽ cho đúng |
< | Kiểm tra xem đối tượng bên trái có nhỏ hơn toán hạng bên phải không | (<2 3) sẽ cho đúng |
<= | Kiểm tra xem đối tượng bên trái nhỏ hơn hoặc bằng toán hạng bên phải | (<= 2 3) sẽ cho đúng |
> | Kiểm tra xem đối tượng bên trái có lớn hơn toán hạng bên phải không | (> 3 2) sẽ cho đúng |
> = | Kiểm tra xem đối tượng bên trái lớn hơn hoặc bằng toán hạng bên phải | (> = 3 2) sẽ cho đúng |
Toán tử logic
Các toán tử logic được sử dụng để đánh giá các biểu thức Boolean. Sau đây là các toán tử logic có sẵn trong Groovy.
Hiển thị các ví dụ
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
and | Đây là toán tử logic "và" | (hoặc đúng true) sẽ cho đúng |
or | Đây là toán tử logic "hoặc" | (và true false) sẽ cho sai |
not | Đây là toán tử logic "không phải" | (không sai) sẽ cho đúng |
Đoạn mã sau đây cho thấy cách sử dụng các toán tử khác nhau.
Toán tử Bitwise
Clojure cung cấp bốn toán tử bitwise. Sau đây là các toán tử bitwise có sẵn trong Clojure.
Hiển thị các ví dụ
Sr.No. | Nhà điều hành & Mô tả |
---|---|
1 | bit-and Đây là toán tử "và" theo bitwise |
2 | bit-or Đây là toán tử "hoặc" theo bitwise |
3 | bit-xor Đây là toán tử bitwise "xor" hoặc Exclusive 'hoặc' |
4 | bit-not Đây là toán tử phủ định theo bit |
Sau đây là bảng sự thật hiển thị các toán tử này.
p | q | p & q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
ưu tiên điều hành
Như trường hợp của các LISP nói chung, không cần phải lo lắng về quyền ưu tiên của người vận hành. Đây là một trong những lợi ích của S-Expressions và ký hiệu tiền tố. Tất cả các chức năng đánh giá từ trái sang phải và từ trong ra ngoài. Các toán tử trong Clojure chỉ là các hàm và mọi thứ đều được đặt trong ngoặc đơn.