Common Lisp包含许多高阶函数,这些函数是传递给参数的函数并调用它们。也许最根本的是funcall和apply:
CL-USER> (list 1 2 3) (1 2 3) CL-USER> (funcall #'list 1 2 3) (1 2 3) CL-USER> (funcall #'list 1 2 3 4 5) (1 2 3 4 5) CL-USER> (apply #'list '(1 2 3)) (1 2 3) CL-USER> (apply #'list 1 2 '(4 5)) (1 2 3 4 5) CL-USER> (apply #'+ 1 (list 2 3)) 6 CL-USER> (defun my-funcall (function &rest args) (apply function args)) MY-FUNCALL CL-USER> (my-funcall #'list 1 2 3) (1 2 3)
还有许多其他高阶函数,例如,将函数多次应用于列表的元素。
CL-USER> (map 'list #'/ '(1 2 3 4)) (1 1/2 1/3 1/4) CL-USER> (map 'vector #'+ '(1 2 3 4 5) #(5 4 3 2 10)) #(6 6 6 6 15) CL-USER> (reduce #'+ '(1 2 3 4 5)) 15 CL-USER> (remove-if #'evenp '(1 2 3 4 5)) (1 3 5)
本文向大家介绍common-lisp 定义匿名函数,包括了common-lisp 定义匿名函数的使用技巧和注意事项,需要的朋友参考一下 示例 Common Lisp中的函数是一等值。可以使用创建匿名函数lambda。例如,这是3个参数的函数,然后我们使用调用funcall 匿名函数也可以直接使用。Common Lisp为此提供了一种语法。 匿名函数也可以存储为全局函数: 带引号的lambda表达式
Common Lisp Koans(lisp-koans)是一个语言学习练习程序,类似 ruby koans,python koans 等等。Common Lisp Koans 主要是帮助学习一些 lisp 规范特性和改进,可以学习到大量的 Common Lisp 语言特性。 终端,在文件 'contemplate.lsp' 执行 lisp 解析器: sbcl --script contempla
Steel Bank Common Lisp (SBCL) 源自于 CMUCL, 是一种高性能的Common Lisp编译器。它是开源/免费软件,采用自由许可。除了ANSI Common Lisp的编译器和运行系统,它提供了一个交互的运行环境,包括一个调试器,统计分析器,一个代码覆盖工具,以及许多其他的扩展。 SBCL 可运行于许多 POSIX 平台上,Windows 上现为试验阶段。
本文向大家介绍common-lisp True 和 False,包括了common-lisp True 和 False的使用技巧和注意事项,需要的朋友参考一下 示例 特殊符号T表示Common Lisp中的值true,而特殊符号NIL表示false: 在标准中,它们被称为“常量变量”(sic!),因为它们是无法修改其值的变量。因此,您不能将它们的名称用于普通变量,如以下不正确的示例所示: 实际上,
本文向大家介绍common-lisp 有界环,包括了common-lisp 有界环的使用技巧和注意事项,需要的朋友参考一下 示例 我们可以使用重复操作多次repeat。
本文向大家介绍common-lisp 照应宏,包括了common-lisp 照应宏的使用技巧和注意事项,需要的朋友参考一下 示例 照应宏是一种引入变量(通常为IT)的宏,该变量捕获用户提供的表单的结果。一个常见的示例是Anaphoric If,它与regular一样IF,但也定义了变量IT以引用测试表单的结果。