갈루아의 반서재

식과 형식

식은 평가될 수 있는 코드, 형식은 평가될 수 있는 적법한 식


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