明经通道 AutoLISP 函数  
mapcar
 

将作为本函数参数的一个或多个表的各个元素提供给指定函数进行求值,并将由求值结果构成的表返回

(mapcar functionlist1... listn)

参数

function

函数。

list1... listn

一个或多个表。表的数目必须与 function 参数中要求的参数个数相等。

返回值

表。

示例

命令: (setq a 10 b 20 c 30)

30

命令: (mapcar '1+ (list a b c))

(11 21 31)

这等价于下列表达式:

(1+ a)
(1+ b)
(1+ c)

但 mapcar 函数返回由结果组成的表。

可以用 lambda 函数指定无名函数来由 mapcar 执行。当某些函数的参数是常量或由其他方法提供时,这种办法很有用。下面的样例是从 Visual LISP 控制台窗口输入的,说明了如何共同使用 lambda 和 mapcar:

_$ (mapcar  '(lambda (x) 
          (+ x 3)
          ) 
         '(10 20 30)
)
(13 23 33)

明经通道 版权所有 未经许可 不得传播

 评论