
- LISP 教程
- LISP - 首頁
- LISP - 概述
- LISP - 環境
- LISP - 程式結構
- LISP - 基本語法
- LISP - 資料型別
- LISP - 宏
- LISP - 變數
- LISP - 常量
- LISP - 運算子
- LISP - 決策
- LISP - 迴圈
- LISP - 函式
- LISP - 謂詞
- LISP - 數字
- LISP - 字元
- LISP - 陣列
- LISP - 字串
- LISP - 序列
- LISP - 列表
- LISP - 符號
- LISP - 向量
- LISP - 集合
- LISP - 樹
- LISP - 雜湊表
- LISP - 輸入 & 輸出
- LISP - 檔案 I/O
- LISP - 結構體
- LISP - 包
- LISP - 錯誤處理
- LISP - CLOS
- LISP 有用資源
- Lisp - 快速指南
- Lisp - 有用資源
- Lisp - 討論
Lisp - 迴圈
在某些情況下,您可能需要執行一段程式碼多次。迴圈語句允許我們多次執行一個語句或一組語句,以下是大多數程式語言中迴圈語句的一般形式。

LISP 提供以下型別的結構來處理迴圈需求。點選以下連結檢視其詳細資訊。
序號 | 結構 & 描述 |
---|---|
1 | loop
loop 結構是 LISP 提供的最簡單的迭代形式。在其最簡單的形式中,它允許您重複執行某些語句,直到找到一個return語句。 |
2 | loop for
loop for 結構允許您實現類似於 for 迴圈的迭代,這在其他語言中最常見。 |
3 | do
do 結構也用於使用 LISP 執行迭代。它提供了一種結構化的迭代形式。 |
4 | dotimes
dotimes 結構允許迴圈執行固定次數的迭代。 |
5 | dolist
dolist 結構允許遍歷列表的每個元素。 |
優雅地退出塊
block 和 return-from 允許您在發生任何錯誤時優雅地退出任何巢狀塊。
block 函式允許您建立一個命名塊,其主體由零個或多個語句組成。語法為:
(block block-name( ... ... ))
return-from 函式接受一個塊名稱和一個可選的(預設為 nil)返回值。
以下示例演示了這一點:
示例
建立一個名為 main.lisp 的新原始碼檔案,並在其中鍵入以下程式碼:
main.lisp
; define a function accepting a flag (defun demo-function (flag) ; print the block name (print 'entering-outer-block) ; start a block (block outer-block ; print the block name (print 'entering-inner-block) (print (block inner-block ; if flag is true (if flag ; return 3 (return-from outer-block 3) ; return 5 (return-from inner-block 5) ) (print 'This-wil--not-be-printed)) ) ; print block name (print 'left-inner-block) ; print block name (print 'leaving-outer-block) t) ) ; call the function (demo-function t) ; terminate printing (terpri) ; call the function (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
廣告