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)
'1. 연구 모듈 > Lisp - Common Lisp' 카테고리의 다른 글
[Lisp/SBCL] asdf-install은 이미 폐기되어있다 (Obsolete) (0) | 2016.08.24 |
---|---|
[Lisp] Common Lisp에서 List, Array, Vector, String, Sequence 차이점 (0) | 2015.07.11 |
[Lisp] Common Lisp 문자열(String) 관련 함수 정리 (0) | 2015.07.11 |
[Lisp/SBCL] SBCL 스크립트로 실행시, 파라미터 처리 (0) | 2015.06.28 |
[Lisp/SBCL] 디렉토리 내의 파일/디렉토리 리스트 얻는 방법 (0) | 2015.06.28 |