语法 (mapcar function list1 ... listn) 功能及参数 此函数将 list1 到 listn 当做 function 的参数, 并返回其结果。不过 list 的数目必须符合 function 所需要的数目。 范例 (setq a 10 b 20 c 30) (mapcar '1+ (list a b c)) 返回 (11 21 31) 即等于: (1+ a) (1+ b) (1+ c) 此函数也可返回一个结果表。如: (mapcar '+' (10 20 30) '(4 3 2)) 返回 (14 23 32) 即为: (+ 10 4) (+ 20 3) (+ 30 4) 另外, 此函数也可以与 lambda 函数合用而设定一个可被mapcar 执行的“匿名”函数。当有一些函数参数是常数或是由其他方法所提供时, 这就很有用了。例如: (mapcar '(lambda (x) (+ x 3) ) '(10 20 30) ) 将返回: (13 23 33)及: (mapcar '(lambda (x y z) (* x (- y z)) ) '(5 6) '(20 30) '(14 5.0) ) 将返回: (30 150.0) (mapcar '1+ (list a b c)) 返回 (11 21 31) 即等于: (1+ a) (1+ b) (1+ c) 此函数也可返回一个结果表。如: (mapcar '+' (10 20 30) '(4 3 2)) 返回 (14 23 32) 即为: (+ 10 4) (+ 20 3) (+ 30 4) 另外, 此函数也可以与 lambda 函数合用而设定一个可被mapcar 执行的“匿名”函数。当有一些函数参数是常数或是由其他方法所提供时, 这就很有用了。例如: (mapcar '(lambda (x) (+ x 3) ) '(10 20 30) ) 将返回: (13 23 33)及: (mapcar '(lambda (x y z) (* x (- y z)) ) '(5 6) '(20 30) '(14 5.0) ) 将返回: (30 150.0) |