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>

Common Lisp程序的基本构建模块是表单。在这些示例中,我们具有函数形式,即表达为列表的表达式,其中第一个元素是运算符(或函数),其余元素是操作数(这称为“前缀表示法”或“波兰语表示法” ”)。在REPL中编写表格会对其进行评估。在示例中,您可以看到简单的表达式,其参数为常数,字符串和符号(对于'string,则为类型的名称)。您还可以看到算术运算符可以接受任意数量的参数。

重要的是要注意,括号是语法的组成部分,不能像其他编程语言一样自由使用。例如,以下是错误:

(+ 5 ((+ 2 4)))
> Error: Car of ((+ 2 4)) is not a function name or lambda-expression. ...

在Common Lisp表单中,还可以是数据,符号,宏形式,特殊形式和lambda形式。它们可以被编写为求值,返回零,一个或多个值,或者可以在宏的输入中给出,以其他形式对其进行转换。