「Mapcar」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
18行目: 18行目:


; サンプル
; サンプル
<pre class="brush:autolisp;">
<syntaxhighlight lang="lisp" line>
(mapcar '+ '(5 3 2) '(10.0 10.0 0))
(mapcar '+ '(5 3 2) '(10.0 10.0 0))
>> (15.0 13.0 2)
(15.0 13.0 2)


(mapcar '* '(5 3 2) '(2 2 2))
(mapcar '* '(5 3 2) '(2 2 2))
>> (10 6 4)
(10 6 4)


(setq a 10 b 20 c 30)  
(setq a 10 b 20 c 30)  
30
30
(mapcar '1+ (list a b c))  
 
(mapcar '1+ (list a b c))  
(11 21 31)
(11 21 31)


; これは、次のコマンド シーケンスと同じ。但し、mapcar 関数は結果としてリストを返す。
; これは、次のコマンド シーケンスと同じ。但し、mapcar 関数は結果としてリストを返す。
;
; (1+ a)
; (1+ a)
; (1+ b)
; (1+ b)
; (1+ c)
; (1+ c)
</pre>


: mapcar 関数で実行する匿名の関数を、lambda 関数で指定できる。関数の引数が定数の場合や別の手段で与えられる場合に便利である。
; mapcar 関数で実行する匿名の関数を、lambda 関数で指定できる。関数の引数が定数の場合や別の手段で与えられる場合に便利である。
:次の例では、lambda 関数と mapcar 関数を一緒に使用している。
; 次の例では、lambda 関数と mapcar 関数を一緒に使用している。
<pre class="brush:autolisp;">
 
(mapcar '(lambda (x)   
(mapcar '(lambda (x)   
  (+ x 3)  
(+ x 3)  
  )   
  )   
  '(10 20 30)  
  '(10 20 30)  
)  
)  
>> (13 23 33)
>> (13 23 33)
</pre>
</syntaxhighlight>





2019年7月7日 (日) 17:54時点における版

構文
(mapcar function list1... listn)


機能
指定されたリストの各要素を引数として関数を実行した結果のリストを返す。


引数
  • function : 関数。
  • list1... listn : 1 つ以上のリスト。 リストの数は、function 引数が必要とする引数の数に一致していなければならない。


戻り値
リスト。


サンプル

<syntaxhighlight lang="lisp" line> (mapcar '+ '(5 3 2) '(10.0 10.0 0)) (15.0 13.0 2)

(mapcar '* '(5 3 2) '(2 2 2)) (10 6 4)

(setq a 10 b 20 c 30) 30

(mapcar '1+ (list a b c)) (11 21 31)

これは、次のコマンド シーケンスと同じ。但し、mapcar 関数は結果としてリストを返す。
(1+ a)
(1+ b)
(1+ c)
mapcar 関数で実行する匿名の関数を、lambda 関数で指定できる。関数の引数が定数の場合や別の手段で与えられる場合に便利である。
次の例では、lambda 関数と mapcar 関数を一緒に使用している。

(mapcar '(lambda (x)

(+ x 3) 
)  
'(10 20 30) 

) >> (13 23 33) </syntaxhighlight>



関連事項