- 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 - do 迴圈結構
do 迴圈結構也用於使用 LISP 執行迭代。它提供了一種結構化的迭代形式。
do 語句的語法:
(do ((variable1 value1 updated-value1)
(variable2 value2 updated-value2)
(variable3 value3 updated-value3)
...)
(test return-value)
(s-expressions)
)
每個變數的初始值都會被計算並繫結到相應的變數。每個子句中的更新值對應於一個可選的更新語句,該語句指定了每個迭代中變數的值將如何更新。
每次迭代後,都會評估測試條件,如果返回非 nil 或 true,則評估返回值並返回。
最後一個 S 表示式(或表示式)是可選的。如果存在,它們會在每次迭代後執行,直到測試值返回 true。
示例 - 將數字遞增/遞減至相等
在這個例子中,我們正在 do 迴圈結構中遞增和遞減變數,並列印變數。建立一個名為 main.lisp 的新原始碼檔案,並在其中鍵入以下程式碼:
main.lisp
; perform a do loop (do ((x 0 (+ 2 x)) ; initialize x to 0 and increment by 2 (y 20 ( - y 2))) ; initialize y to 20 and decrement by 2 ((= x y)) ; checking if x and y is same ; print values (format t "~% x = ~d y = ~d" x y) )
輸出
當您單擊“執行”按鈕或鍵入 Ctrl+E 時,LISP 會立即執行它,並返回以下結果:
x = 0 y = 20 x = 2 y = 18 x = 4 y = 16 x = 6 y = 14 x = 8 y = 12
示例 - 將數字遞增/遞減至遞增的數字大於另一個數字
在這個例子中,我們正在 do 迴圈結構中遞增和遞減變數,並列印變數。建立一個名為 main.lisp 的新原始碼檔案,並在其中鍵入以下程式碼:
main.lisp
; perform a do loop (do ((x 0 (+ 2 x)) ; initialize x to 0 and increment by 2 (y 20 ( - y 2))) ; initialize y to 20 and decrement by 2 ((> x y)) ; checking if x is greater than y ; print values (format t "~% x = ~d y = ~d" x y) )
輸出
當您單擊“執行”按鈕或鍵入 Ctrl+E 時,LISP 會立即執行它,並返回以下結果:
x = 0 y = 20 x = 2 y = 18 x = 4 y = 16 x = 6 y = 14 x = 8 y = 12 x = 10 y = 10
示例 - 將數字遞增/遞減至遞減的數字小於另一個數字
在這個例子中,我們正在 do 迴圈結構中遞增和遞減變數,並列印變數。建立一個名為 main.lisp 的新原始碼檔案,並在其中鍵入以下程式碼:
main.lisp
; perform a do loop (do ((x 0 (+ 2 x)) ; initialize x to 0 and increment by 2 (y 20 ( - y 2))) ; initialize y to 20 and decrement by 2 ((< y x)) ; checking if y is less than y ; print values (format t "~% x = ~d y = ~d" x y) )
輸出
當您單擊“執行”按鈕或鍵入 Ctrl+E 時,LISP 會立即執行它,並返回以下結果:
x = 0 y = 20 x = 2 y = 18 x = 4 y = 16 x = 6 y = 14 x = 8 y = 12 x = 10 y = 10
lisp_loops.htm
廣告