Lisp & Tips/Lisp
vl-every, vl-some 함수
이자더
2016. 2. 20. 01:34
vl-every 는 구성체의 모든 것이 T 이면 T 를 반환
(vl-every '(lambda (%) (= (type %) 'STR) ) (list "a" "b" "c" 1) )
nil 을 반환
(vl-every '(lambda (%) (= (type %) 'STR) ) (list "a" "b" "c") )
T 를 반환
;;;-----------------------------------------------------------------------------;
상기와 같은 구문
(apply 'and (mapcar '(lambda (%) (= (type %) 'STR) ) (list "a" "b" "c") ) )
T 를 반환
;;;-----------------------------------------------------------------------------;
vl-some 은 그 반대로써, 하나라도 T면 T를 반환
;;;-----------------------------------------------------------------------------;
(vl-some '(lambda ( x ) (= x 3)) '(0 1 2 3 4 5) )
T 를 반환
이는 아래와 같다.
(apply 'or (mapcar '(lambda (%) (= (type %) 'STR) ) (list "a" "b" "c" 1) ) )
T 를 반환