最近在学习Autolisp编程,程序中用到了矩阵运算,如果像C语言(或C++)语言编程那样一个个处理矩阵中的元素,那程序要写很长,而且很容易出错。在论坛中,网上搜索发现,mapcar、lambda和apply三个函数用好了,对矩阵运算非常方便。于是查手册,看看三个函数的用法:
Apply: (apply 'function list)
将参数表传给指定的函数
参数:
' function ——函数,可以是表示defun或lambda表达式的符号。
list ——表。如果函数不接收参数,则该参数为nil。
返回值:
函数调用的结果。---------注意该函数返回值为一个值,数值、字符串等。
例如: (apply '+ '(1 2 3)) 结果为 6
这个函数看似不难用,理解也比较容易。
Mapcar:(mapcar function list1 ……listn)
将作为本函数参数的一个或多个表的各个元素提供给指定函数进行求值,并将由求值结果构成的表返回。
参数:
function ——函数。
list1……listn——一个或多个表。
返回值:
表。--------