- 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 - Lambda 函式
有時你可能只需要在程式的一個地方使用一個函式,而這個函式非常簡單,以至於你可能不會給它命名,或者不想將其儲存在符號表中,而是寧願編寫一個未命名的或匿名函式。
LISP允許你編寫匿名函式,這些函式只有在程式中遇到時才會被求值。這些函式被稱為Lambda 函式。
你可以使用lambda表示式建立這樣的函式。lambda表示式的語法如下:
(lambda (parameters) body)
lambda 表示式不能被求值,它只能出現在 LISP 期望找到函式的地方。
示例
建立一個名為 main.lisp 的新原始碼檔案,並在其中鍵入以下程式碼。
main.lisp
; create a lambda expression and print the result (write ((lambda (a b c x) (+ (* a (* x x)) (* b x) c)) 4 2 9 3) )
輸出
執行程式碼後,將返回以下結果:
51
示例
更新名為 main.lisp 的原始碼檔案,並在其中鍵入以下程式碼。
main.lisp
; create a lambda expression and print the result (write ((lambda (a b c x) (+ a b c x)) 4 2 9 3) )
輸出
執行程式碼後,將返回以下結果作為傳遞引數的和:
18
示例
更新名為 main.lisp 的原始碼檔案,並在其中鍵入以下程式碼。
main.lisp
; create a lambda expression and print the result (write ((lambda (a b c x) (* a b c x)) 4 2 9 3) )
輸出
執行程式碼後,將返回以下結果作為傳遞引數的積:
216
lisp_functions.htm
廣告