LISP-루프

코드 블록을 여러 번 실행해야하는 상황이있을 수 있습니다. 루프 문을 사용하면 문 또는 문 그룹을 여러 번 실행할 수 있으며 다음은 대부분의 프로그래밍 언어에서 루프 문의 일반적인 형식입니다.

LISP는 루핑 요구 사항을 처리하기 위해 다음 유형의 구성을 제공합니다. 자세한 내용을 확인하려면 다음 링크를 클릭하십시오.

Sr. 아니. 구성 및 설명
1 고리

그만큼 loop구성은 LISP에서 제공하는 가장 간단한 반복 형식입니다. 가장 간단한 형태로, 어떤 문장을 찾을 때까지 반복적으로 실행할 수 있습니다.return 성명서.

2 루프

루프 for 구문을 사용하면 다른 언어에서 가장 일반적인 반복과 같은 for 루프를 구현할 수 있습니다.

하다

do 구문은 LISP를 사용하여 반복을 수행하는데도 사용됩니다. 구조화 된 형태의 반복을 제공합니다.

4 dotimes

dotimes 구조는 고정 된 수의 반복에 대해 루핑을 허용합니다.

5 dolist

dolist 구조는 목록의 각 요소를 반복 할 수 있습니다.

블록에서 정상적으로 나가기

그만큼 blockreturn-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