프로그래밍 Programming
클로저 12. 제어문 - 기본적인 논리검사
문장전달자
2018. 8. 18. 18:29
728x90
식과 형식
식은 평가될 수 있는 코드, 형식은 평가될 수 있는 적법한 식
class 함수
1 2 3 4 5 | user=> (class true) java.lang.Boolean user=> | cs |
true? false?함수
불린 true 및 불린 false 값인지를 알려주는 함수
클로저에서는 함수의 결과가 boolean 인 경우 함수 이름 끝에 ? 를 붙이는 것이 관례
1 2 3 4 5 6 7 | user=> (true? true) true user=> (true? false) false user=> | cs |
nil? 함수
값이 없음을 검사하는 함수
1 2 3 4 5 6 7 | user=> (nil? nil) true user=> (nil? 1) false user=> | cs |
not 함수
부정negation 표현
인수가 논리적 거짓이면 true 반환, 그렇지 않으면 false 반환
nil 은 논리 검사에서 거짓으로 취급됨
1 2 3 4 5 6 7 8 9 10 11 | user=> (not false) true user=> (not true) false user=> user=> (not nil) true user=> | cs |
= 함수
두 인수의 값이 같으면 true 를 반환함
(not (= x y)) 는 번거로우니 not= 을 쓰면 편하다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | user=> (= :drinkme :drinkme) true user=> user=> (= '(:drinkme :bottle) [:drinkme :bottle]) true user=> user=> (not= :drinkme :4) true user=> | cs |
728x90