LISP-루프
코드 블록을 여러 번 실행해야하는 상황이있을 수 있습니다. 루프 문을 사용하면 문 또는 문 그룹을 여러 번 실행할 수 있으며 다음은 대부분의 프로그래밍 언어에서 루프 문의 일반적인 형식입니다.
LISP는 루핑 요구 사항을 처리하기 위해 다음 유형의 구성을 제공합니다. 자세한 내용을 확인하려면 다음 링크를 클릭하십시오.
Sr. 아니. | 구성 및 설명 |
---|---|
1 | 고리 그만큼 loop구성은 LISP에서 제공하는 가장 간단한 반복 형식입니다. 가장 간단한 형태로, 어떤 문장을 찾을 때까지 반복적으로 실행할 수 있습니다.return 성명서. |
2 | 루프 루프 for 구문을 사용하면 다른 언어에서 가장 일반적인 반복과 같은 for 루프를 구현할 수 있습니다. |
삼 | 하다 do 구문은 LISP를 사용하여 반복을 수행하는데도 사용됩니다. 구조화 된 형태의 반복을 제공합니다. |
4 | dotimes dotimes 구조는 고정 된 수의 반복에 대해 루핑을 허용합니다. |
5 | dolist dolist 구조는 목록의 각 요소를 반복 할 수 있습니다. |
블록에서 정상적으로 나가기
그만큼 block 과 return-from 오류 발생시 중첩 된 블록에서 정상적으로 종료 할 수 있습니다.
그만큼 block함수를 사용하면 0 개 이상의 문으로 구성된 본문으로 명명 된 블록을 만들 수 있습니다. 구문은-
(block block-name(
...
...
))
그만큼 return-from 함수는 블록 이름과 선택적 (기본값은 nil) 반환 값을받습니다.
다음 예제는 이것을 보여줍니다-
예
main.lisp라는 새 소스 코드 파일을 만들고 다음 코드를 입력합니다.
(defun demo-function (flag)
(print 'entering-outer-block)
(block outer-block
(print 'entering-inner-block)
(print (block inner-block
(if flag
(return-from outer-block 3)
(return-from inner-block 5)
)
(print 'This-wil--not-be-printed))
)
(print 'left-inner-block)
(print 'leaving-outer-block)
t)
)
(demo-function t)
(terpri)
(demo-function nil)
실행 버튼을 클릭하거나 Ctrl + E를 입력하면 LISP가 즉시 실행하고 반환 된 결과는 다음과 같습니다.
ENTERING-OUTER-BLOCK
ENTERING-INNER-BLOCK
ENTERING-OUTER-BLOCK
ENTERING-INNER-BLOCK
5
LEFT-INNER-BLOCK
LEAVING-OUTER-BLOCK