「Mapcar」の版間の差分
細編集の要約なし |
細編集の要約なし |
||
2行目: | 2行目: | ||
; 構文 | ; 構文 | ||
: (mapcar function list1... listn) | : (mapcar function list1... listn) | ||
; 機能 | ; 機能 | ||
: 指定されたリストの各要素を引数として関数を実行した結果のリストを返す。 | : 指定されたリストの各要素を引数として関数を実行した結果のリストを返す。 | ||
; 引数 | ; 引数 | ||
:* function : 関数。 | :* function : 関数。 | ||
:* list1... listn : 1 つ以上のリスト。 リストの数は、function 引数が必要とする引数の数に一致していなければならない。 | :* list1... listn : 1 つ以上のリスト。 リストの数は、function 引数が必要とする引数の数に一致していなければならない。 | ||
; 戻り値 | ; 戻り値 |
2015年9月15日 (火) 21:39時点における版
- 構文
- (mapcar function list1... listn)
- 機能
- 指定されたリストの各要素を引数として関数を実行した結果のリストを返す。
- 引数
-
- function : 関数。
- list1... listn : 1 つ以上のリスト。 リストの数は、function 引数が必要とする引数の数に一致していなければならない。
- 戻り値
- リスト。
- サンプル
(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)
関連事項