Common Lisp中的apply和append
来源:互联网 发布:linux命令启动db2服务 编辑:程序博客网 时间:2024/06/15 08:04
append
Lisp中的append就是把多个list合并成一个list。如:
> (append '(a) '(b) '(c d))(A B C D)
注意:
1.append后的每一个cell都必须是list,下面这个语句则会报错
> (append 'a 'b)bad syntax for array: APPEND
2.同时,append不是嵌套的,如:
> (append '((a b) (c d)) '(e))((A B) (C D) E)
apply
前面提到append不能对嵌套的执行合并,如:
> append '((a b) (c d))((A B) (C D))
这个时候,可以使用apply
> (apply #'append '((a b) (c d)))(A B C D)
apply后紧跟的是一个函数,上面的例子中即为append。apply将append后面的list中的整个list中的每个元素作为append的参数。上面的例子就等价于:
> (append '(a b) '(c d))
当apply紧跟的函数后面多于一个cell时,等价于:
> (append function 'p1 'p2 'p3) == (append function (list* 'p1 'p2 'p3))
- Common Lisp中的apply和append
- Common Lisp中的car和cdr
- Common Lisp中的set和setq
- common lisp中的funcall
- Common Lisp中的并发编程
- Lisp函数apply和funcall的比较
- Common Lisp
- Common Lisp
- common lisp
- Common LISP Hints - LISP入门教程
- Common lisp study1 初识lisp
- 用clojure实现《实用Common Lisp编程》中的单元测试框架
- Common Lisp的值类型及SBCL中的底层表示
- QList 中的 append 和 push_back
- python中的append和expend
- Common Lisp入门笔记(三)条件和循环
- common lisp 安装和使用第三方包
- common lisp for emacs
- centos下mysql手工安装
- Linux查看硬件信息及驱动设备
- NDK开发基础
- LGPhone.apk的修改
- GRUB 0.97
- Common Lisp中的apply和append
- Oracle数据库的备份和恢复
- PHP中magic_quotes_gpc和 magic_quotes_runtime区别及其反斜线转义问题
- Hough-based Tracking of Non-Rigid Objects 源代码地址
- c++ template 不同用法详细解析与验证代码
- 解析xml字符串
- SEO高级指令
- ListView中Item布局示例一
- CSS+DIV的命名规则