Lambda

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年10月21日 (水) 17:00時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成: ; 構文 : (lambda ''arguments'' ''expr''...) ; 機能 : 匿名の関数を定義する。 :lambda 関数は、新しい関数を定義するとそのオーバーヘッドが…)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(lambda arguments expr...)


機能
匿名の関数を定義する。
lambda 関数は、新しい関数を定義するとそのオーバーヘッドが無視できない場合に使用する。また、使用する位置に関数を配置するので、プログラマの意図がより明確になる。リストに対して関数を実行する apply 関数や mapcar 関数と組み合わせて使用されることがよくある。
引数
  • arguments : 式に渡される引数。
  • expr : LISP 式。
戻り値
最後の expr の値。


サンプル
(apply '(lambda (a b c)
  (+ a (* b c)))
  '( 5 2 3))  
11  
---
(apply '(lambda (x y z)  
  (* x (- y z))  
  )  
  '(5 20 14)  
) 
30 
(setq counter 0) 
(mapcar '(lambda (x)  
  (setq counter (1+ counter))  
  (* x 5)  
  )  
  '(2 4 -6 10.2)  
)
0 
(10 20 -30 51.0) 

関連事項