mapconとmapcar
mapcarとmapcしか使ったことなかった。
CL-USER> (maplist #'(lambda (a) (pprint a) (reverse a)) '(1 2 3)) (1 2 3) (2 3) (3) ((3 2 1) (3 2) (3)) CL-USER> (mapcon #'(lambda (a) (pprint a) (reverse a)) '(1 2 3)) (1 2 3) (2 3) (3) (3 2 1 3 2 3)
http://www.jsk.t.u-tokyo.ac.jp/~inaba/soft3/soft3-l1-lisp/node59.html
mapcar, maplistは呼びだしごとの関数の値をリストにしますが,mapc, mapl は,リストを作らずに呼びだしだけを行ないたい時に使います. mapcanは,呼び出した関数の結果がリストだとして,すべての結果のリストを appendした結果を返します.mapconはappendではなくnconcします.
なるほど。