本帖最后由 vitalgg 于 2022-6-3 05:24 编辑
mapcar
最常使用的是 mapcar ,接受一个函数以及一个或多个列表,并返回把函数应用至每个列表的元素的结果,直到有的列表没有元素为止。
mapcar 后跟的 函数 需要几个参数,再后面就需要几个 作为参数的列表,如下面的代码,函数 需要两个参数,那么后面就需要跟两个表,参数表A和参数表B
返回结果也是一个表。
- (defun 函数 (参数A 参数B) ...) ;; 函数 定义,有两个参数
- (mapcar '函数 参数表A 参数表B) ;; 返回 结果表
apply
autolisp 的 apply 接受两个参数 ,第一个是 quote 的 函数本体(类型为函数的符号或 lambda 匿名函数,第二个是一个表,这个表内元素个数须与函数所需的参数一致。
- (defun fun (para1 para2 para3) ...) ;; 假定定义的 fun 有 3 个参数。
- (apply 'fun '(para1 para2 para3)) ;; apply fun 后面的表中 元素也需要 3 个, 与 fun 所需的参数一致。
- ;;等价于
- (fun para1 para2 para3)
全文: https://gitee.com/atlisp/atlisp- ... B%E9%98%B6/lisp.org
@lisp开源项目: https://gitee.com/atlisp
|