「Lambda」の版間の差分
(ページの作成: ; 構文 : (lambda ''arguments'' ''expr''...) ; 機能 : 匿名の関数を定義する。 :lambda 関数は、新しい関数を定義するとそのオーバーヘッドが…) |
編集の要約なし |
||
16行目: | 16行目: | ||
; サンプル | ; サンプル | ||
<pre class="brush:autolisp;"> | |||
(apply '(lambda (a b c) | (apply '(lambda (a b c) | ||
(+ a (* b c))) | (+ a (* b c))) | ||
'( 5 2 3)) | '( 5 2 3)) | ||
'''11''' | '''11''' | ||
(apply '(lambda (x y z) | (apply '(lambda (x y z) | ||
(* x (- y z)) | (* x (- y z)) | ||
36行目: | 37行目: | ||
0 | 0 | ||
'''(10 20 -30 51.0)''' | '''(10 20 -30 51.0)''' | ||
</pre> | |||
----- | ----- | ||
関連事項 | 関連事項 |
2011年4月19日 (火) 12:06時点における版
- 構文
- (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)'''
関連事項