Clojure-연산자
안 operator 컴파일러에게 특정 수학적 또는 논리적 조작을 수행하도록 지시하는 기호입니다.
Clojure에는 다음과 같은 유형의 연산자가 있습니다.
- 산술 연산자
- 관계 연산자
- 논리 연산자
- 비트 연산자
Note − Clojure에서 연산자와 피연산자는 다음 구문 방식으로 작동합니다.
통사론
(operator operand1 operand2 operandn)
예를 들면
예
(+ 1 2)
위의 예는 숫자 1과 2에 대한 산술 연산을 수행합니다.
산술 연산자
Clojure 언어는 모든 언어로 일반 산술 연산자를 지원합니다. 다음은 Clojure에서 사용할 수있는 산술 연산자입니다.
예시보기
운영자 | 기술 | 예 |
---|---|---|
+ | 두 개의 피연산자 추가 | (+ 1 2) 3을 줄 것입니다 |
− | 첫 번째에서 두 번째 피연산자를 뺍니다. | (-2 1) 1을 줄 것입니다. |
* | 두 피연산자의 곱셈 | (* 2 2) 4를 줄 것입니다 |
/ | 분모로 분자 나누기 | (float (/ 3 2)) 1.5를 줄 것입니다. |
inc | 피연산자의 값을 1 씩 증가시키는 데 사용되는 증분 연산자 | inc 5는 6을 줄 것입니다. |
12 월 | 피연산자의 값을 1 씩 줄이는 데 사용되는 증분 연산자 | 12 월 5 일은 4를 줄 것입니다 |
최대 | 가장 큰 인수를 반환합니다. | max 12 3은 3을 반환합니다. |
분 | 가장 작은 인수를 반환합니다. | min 12 3은 1을 반환합니다. |
렘 | 첫 번째 숫자를 두 번째로 나눈 나머지 | rem 3 2는 1을 줄 것입니다 |
관계 연산자
관계 연산자를 사용하면 개체를 비교할 수 있습니다. 다음은 Clojure에서 사용할 수있는 관계 연산자입니다.
예시보기
운영자 | 기술 | 예 |
---|---|---|
= | 두 개체 간의 동등성을 테스트합니다. | (= 2 2) 사실을 줄 것입니다 |
not = | 두 개체의 차이를 테스트합니다. | (not = 3 2) true를 제공합니다. |
< | 왼쪽 개체가 오른쪽 피연산자보다 작은 지 확인합니다. | (<2 3) 사실을 줄 것입니다 |
<= | 왼쪽 개체가 오른쪽 피연산자보다 작거나 같은지 확인합니다. | (<= 2 3) 사실을 제공합니다 |
> | 왼쪽 개체가 오른쪽 피연산자보다 큰지 확인합니다. | (> 3 2) 진실을 줄 것입니다 |
> = | 왼쪽 개체가 오른쪽 피연산자보다 크거나 같은지 확인합니다. | (> = 3 2) true를 제공합니다. |
논리 연산자
논리 연산자는 부울 표현식을 평가하는 데 사용됩니다. 다음은 Groovy에서 사용할 수있는 논리 연산자입니다.
예시보기
운영자 | 기술 | 예 |
---|---|---|
and | 이것은 논리 "and"연산자입니다. | (또는 true true) true를 제공합니다 |
or | 이것은 논리 "or"연산자입니다. | (그리고 참 거짓) 거짓을 줄 것입니다 |
not | 이것은 논리적 "아님"연산자입니다. | (거짓이 아님) 사실을 줄 것입니다 |
다음 코드 스 니펫은 다양한 연산자를 사용하는 방법을 보여줍니다.
비트 연산자
Clojure는 4 개의 비트 연산자를 제공합니다. 다음은 Clojure에서 사용할 수있는 비트 연산자입니다.
예시보기
Sr. 아니. | 연산자 및 설명 |
---|---|
1 | bit-and 이것은 비트 "and"연산자입니다. |
2 | bit-or 이것은 비트 "or"연산자입니다. |
삼 | bit-xor 이것은 비트 "xor"또는 배타적 'or'연산자입니다. |
4 | bit-not 이것은 비트 부정 연산자입니다. |
다음은 이러한 연산자를 보여주는 진리표입니다.
피 | 큐 | p & q | p | 큐 | 피 ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
연산자 우선 순위
일반적으로 LISP의 경우와 마찬가지로 연산자 우선 순위에 대해 걱정할 필요가 없습니다. 이것은 S-Expressions와 접두사 표기법의 이점 중 하나입니다. 모든 함수는 왼쪽에서 오른쪽으로, 안쪽에서 바깥쪽으로 평가됩니다. Clojure의 연산자는 함수일 뿐이며 모든 것이 완전히 괄호로 묶여 있습니다.