1. 연구 모듈/Lisp - Common Lisp
[Lisp] Common Lisp 여러가지 팁
사용자-1
2015. 7. 11. 07:43
Vector 정의 방법
(defparameter some-array (make-array 4 :initial-element 1)) ; 길이가 4이고 1로 초기화
IF NOT 구문
(unless A B C D)
; (if (not A) (progn B C D)) 와 동일
NOT vs. NULL
: 동작 상으로 동일 (nil 값인지 여부를 체크)
(not T)
-> NIL
(not nil)
-> T
(not '())
-> T
(not 10) ; 10은 nil 값이 아니므로
-> NIL
DO 구문 사용
;; 사용법 :
(do ((변수명 초기값 다음값_계산식)) (종료조건1 종료조건2 ..)) ; 모든 종료 조건을 만족해야 종료 (AND 연산)
실행구문1
실행구문2
..
)
(do ((i 0 (+ i 1))) ((>= i 100)) ; => for (i = 0; i < 100; i++) 과 동일
)
DOLIST 구문 사용하여 리스트 순회하기
(dolist (x '(1 2 3 4))
(print x)
)
-> 1
2
3
4
NIL
(dolist (x '(1 2 3 4))
(print x)
(if (= x 2) (return)) ; return 문을 사용하여 루프를 빠져나올 수 있음
)
-> 1
2
NIL
키보드 입력 받기
(read-line)