每个Lisp表达式会返回一个值,一个函数总是返回最后一个表达式的结果——即使是NIL,NULL在Java或C++中的对等值也是这样。因此在Lisp中显示“Hello World”相当简单:
[3]> "Hello World"
"Hello World"
如果你希望在屏幕上打印一些内容,并返回其它内容,你应该使用打印函数:
[4]> (print "Hello World")
"Hello World"
"Hello World"
这个字符串显示两次,一个是打印结果,一个是函数返回的结果。
Lisp表示LIST Processor(列表处理器),Lisp中的几乎所有内容都以列表的形式存在,因此有时你必须处理列表。定义列表非常容易:
[5]> (list 1 2 3 4 5)
(1 2 3 4 5)
[6]> '(1 2 3 4 5)
(1 2 3 4 5)
第二种定义方法叫做引用,除定义简单的列表外,它还有更多用途,不过我们必须在后面的另一篇文章中讨论那个主题。
控制流程
Lisp拥有全部标准控制流程方法。定义一个重复一个值的简单循环相当容易:
[7]> (dotimes (i 10) (print i))0
1
2
3
4
5
6
7
8
9
NIL
同样,重复一个列表也很简单: