Lisp是啥?
Lots of Isolated Silly Parentheses (大量分离的愚蠢的括号)
Lisp指的是"LISt Processing"(列表处理),通过把列表放置在括号之间来处理列表的编程语言。
当然列表也可以嵌套,括号就是列表的边界,有时候一个列表用一个单引号开头。
此时,你已经入门LISP了,哈哈
Lisp列表
'(rose violet daisy buttercup) 原来daisy是一种花,了不起的盖茨比中女主是不是叫Daisy?
列表之间的元素用空格隔开,并用括号括起来。
列表中也可以有数字,例如:(+ 2 2)一样,同样也要用空格隔开。
Lisp中的程序和数据都是这种鬼方式,由空格分隔、括号括起来的单词、数字或者其他的列表。
感觉Lisp好简单,不就是空格、括号、元素么,连语句都是这种形式的!!!
Lisp中列表嵌套的例子:
'(this list has (a list inside of it))
双引号中的文本——不论是句子还是段落——都是一个原子。
Lisp原子
列表中不可再分的叫做原子,比如上衣嵌套列表中的每个单词都是原子,另外还有运算符等,
注意列表中嵌套的列表不是原子,因为它还可以再分啊。
原子由空格分离,原子可以紧接着括号。
一个列表中可以仅有一个原子或者完全没有原子。
一个没有任何原子的列表就像这样:(),这种就叫做空列表。
空列表有个特点是:可以把空列表同时看做一个原子,也可以看做列表。
Lisp中运行一个程序
Lisp中的一个列表——任何列表都是一个准备运行的程序(深刻理解这个)。
如果在列表前面有单引号,被称作一个引用,当单引号在列表前面,是告诉Lisp不要对这个列表做任何操作;
相反如果没有这个单引号,那么列表的第一个符号表示Lisp解释器将要执行的命令。
变量
一个符号可以同时是一个函数定义的名称,也就是函数名