Elixir - Nhà khai thác
Một toán tử là một ký hiệu yêu cầu trình biên dịch thực hiện các thao tác toán học hoặc logic cụ thể. Có rất nhiều nhà khai thác được cung cấp bởi elixir. Chúng được chia thành các loại sau:
- Toán tử số học
- Toán tử so sánh
- Toán tử boolean
- Toán tử khác
Toán tử số học
Bảng sau đây hiển thị tất cả các toán tử số học được hỗ trợ bởi ngôn ngữ Elixir. 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 2 số. | A + B sẽ cho 30 |
- | Trừ số thứ hai với số thứ nhất. | AB sẽ cho -10 |
* | Nhân hai số. | A * B sẽ cho 200 |
/ | Chia số đầu tiên cho số thứ hai. Điều này truyền các số trong float và cho kết quả float | A / B sẽ cho 0,5. |
div | Hàm này được sử dụng để lấy thương số trên phép chia. | div (10,20) sẽ cho 0 |
rem | Hàm này được sử dụng để lấy phần dư khi chia. | rem (A, B) sẽ cho 10 |
Toán tử so sánh
Các toán tử so sánh trong Elixir hầu hết phổ biến đối với các toán tử được cung cấp trong hầu hết các ngôn ngữ khác. Bảng sau đây tổng hợp các toán tử so sánh trong Elixir. 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ị bên trái có bằng giá trị bên phải không (Nhập giá trị nếu chúng không cùng loại). | A == B sẽ cho sai |
! = | Kiểm tra xem giá trị bên trái không bằng giá trị bên phải. | A! = B sẽ cho đúng |
=== | Kiểm tra xem loại giá trị ở bên trái bằng loại giá trị ở bên phải, nếu có thì kiểm tra giá trị tương tự. | A === B sẽ cho sai |
! == | Tương tự như trên nhưng kiểm tra sự bất bình đẳng thay vì bình đẳng. | A! == B sẽ cho đú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 sẽ cho sai |
< | 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 sẽ cho đú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 sẽ cho sai |
<= | 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; nếu có, thì điều kiện trở thành true. | A <= B sẽ cho đúng |
Toán tử logic
Elixir cung cấp 6 toán tử logic: và, hoặc, không, &&, || và!. Ba đầu tiên,and or notlà các toán tử Boolean nghiêm ngặt, có nghĩa là họ mong đợi đối số đầu tiên của họ là một Boolean. Đối số không Boolean sẽ gây ra lỗi. Trong khi ba tiếp theo,&&, || and !không nghiêm ngặt, không yêu cầu chúng tôi phải có giá trị đầu tiên nghiêm ngặt như một boolean. Họ làm việc theo cách giống như các đối tác nghiêm ngặt của họ. Giả sử biếnA giữ đúng 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ụ |
---|---|---|
và | Kiểm tra xem cả hai giá trị được cung cấp có trung thực hay không, nếu có thì trả về giá trị của biến thứ hai. (Lôgic và). | A và B sẽ cho 20 |
hoặc là | Kiểm tra xem một trong hai giá trị được cung cấp có phải là trung thực hay không. Trả về bất kỳ giá trị nào là trung thực. Khác trả về false. (Lôgic hoặc). | A hoặc B sẽ cho đúng |
không phải | Toán tử đơn nguyên đảo ngược giá trị của đầu vào đã cho. | không A sẽ cho sai |
&& | Không nghiêm ngặt and. Hoạt động giống nhưand nhưng không mong đợi đối số đầu tiên là một Boolean. | B && A sẽ cho 20 |
|| | Không nghiêm ngặt or. Hoạt động giống nhưor nhưng không mong đợi đối số đầu tiên là một Boolean. | B || A sẽ cho đúng |
! | Không nghiêm ngặt not. Hoạt động giống nhưnot nhưng không mong đợi đối số là Boolean. | ! A sẽ cho sai |
NOTE −và , hoặc , && và || || là các nhà khai thác ngắn mạch. Điều này có nghĩa là nếu đối số đầu tiên củaandlà sai, sau đó nó sẽ không kiểm tra thêm cho cái thứ hai. Và nếu đối số đầu tiên củaorlà đúng, sau đó nó sẽ không kiểm tra cái thứ hai. Ví dụ,
false and raise("An error")
#This won't raise an error as raise function wont get executed because of short
#circuiting nature of and operator
Toán tử Bitwise
Toán tử bitwise làm việc trên các bit và thực hiện thao tác từng bit. Elixir cung cấp các mô-đun bitwise như một phần của góiBitwise, vì vậy để sử dụng chúng, bạn cần sử dụng mô-đun bitwise. Để sử dụng nó, hãy nhập lệnh sau vào trình bao của bạn:
use Bitwise
Giả sử A là 5 và B là 6 cho các ví dụ sau:
Hiển thị các ví dụ
Nhà điều hành | Sự miêu tả | Thí dụ |
---|---|---|
&&& | Bitwise và toán tử sao chép một bit để kết quả nếu nó tồn tại trong cả hai toán hạng. | A &&& B sẽ cho 4 |
||| | Bitwise hoặc toán tử sao chép một bit để kết quả nếu nó tồn tại trong một trong hai toán hạng. | A ||| B sẽ cho 7 |
>>> | Toán tử dịch sang phải theo bit dịch chuyển các bit toán hạng đầu tiên sang phải theo số được chỉ định trong toán hạng thứ hai. | A >>> B sẽ cho 0 |
<<< | Toán tử dịch trái theo bit dịch chuyển các bit toán hạng đầu tiên sang trái bởi số được chỉ định trong toán hạng thứ hai. | A <<< B sẽ cho 320 |
^^^ | Toán tử Bitwise XOR sao chép một bit để chỉ kết quả nếu nó khác nhau trên cả hai toán hạng. | A ^^^ B sẽ cho 3 |
~~~ | Bitwise đơn phân không đảo ngược các bit trên một số nhất định. | ~~~ A sẽ cho -6 |
Nhà điều hành khác
Ngoài các toán tử ở trên, Elixir cũng cung cấp một loạt các toán tử khác như Concatenation Operator, Match Operator, Pin Operator, Pipe Operator, String Match Operator, Code Point Operator, Capture Operator, Ternary Operator khiến nó trở thành một ngôn ngữ khá mạnh mẽ.
Hiển thị các ví dụ