common-lisp 基本表达
示例
让我们尝试一下REPL中的一些基本表达式:
CL-USER> (+ 1 2 3) 6 CL-USER> (- 3 1 1) 1 CL-USER> (- 3) -3 CL-USER> (+ 5.3 (- 3 2) (* 2 2)) 10.3 CL-USER> (concatenate 'string "Hello, " "World!") "Hello, World!" CL-USER>
CommonLisp程序的基本构建模块是表单。在这些示例中,我们具有函数形式,即表达为列表的表达式,其中第一个元素是运算符(或函数),其余元素是操作数(这称为“前缀表示法”或“波兰语表示法””)。在REPL中编写表格会对其进行评估。在示例中,您可以看到简单的表达式,其参数为常数,字符串和符号(对于'string,则为类型的名称)。您还可以看到算术运算符可以接受任意数量的参数。
重要的是要注意,括号是语法的组成部分,不能像其他编程语言一样自由使用。例如,以下是错误:
(+ 5 ((+ 2 4))) > Error: Car of ((+ 2 4)) is not a function name or lambda-expression. ...
在CommonLisp表单中,还可以是数据,符号,宏形式,特殊形式和lambda形式。它们可以被编写为求值,返回零,一个或多个值,或者可以在宏的输入中给出,以其他形式对其进行转换。