Next: 记录类型, Previous: 原语函数类型, Up: 编程类型 [Contents][Index]
2.4.16 闭包函数类型 ¶
Closures闭包 是将函数定义转化为函数值时生成的函数对象。闭包既用于字节编译的 Lisp 函数,也用于解释执行的 Lisp 函数。闭包可以通过对 Lisp 代码进行字节编译(see 字节编译)产生,也可以直接对未编译的 lambda 表达式求值得到,后者会成为一个解释型函数。在内部实现上,闭包与向量非常相似;但在函数调用中,求值器会对这种数据类型做特殊处理。See 闭包函数对象。
字节码函数对象的打印表示和可读语法与向量类似,只是在左方括号 ‘[’ 前多一个 ‘#’。为方便人类阅读时,它会以一种特殊列表形式打印,在左括号 ‘(’ 前多一个 ‘#f’。