[Scheme] 술어 프로시저

[원본 링크]

보통 어떤 값이 해당 범주에 들어가는지를 판단하는 함수를 술어(Predicate)라고 한다. 그리고 술어는 대체로 '?' 문자로 끝난다.

그중 간단한 몇가지만 다뤄보도록 하겠다.


number?
이건 값이 숫자인지를 판단한다. 숫자면 참(#t), 아니면 거짓(#f)을 반환한다. image

image

image

image


zero?
이건 값이 0일 때만 #t를 반환하는 술어다. image

image

image

이외의 값은 #f다. image

image



nil? or null?
이름만 갖지 둘다 같은놈이다.
이건 받은 값이 nil일 때만 #t를 반환한다. 그리고 스킴에서 nil은 빈 리스트 '()로 표현된다. image

image

image

뭐라도 들어있는게 있으면 nil이 아니게 된다. image

image


참조
https://docs.racket-lang.org/predicates/index.html