第1章列表处理——1.1 Lisp列表
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解释器将要执行的命令。
变量
一个符号可以同时是一个函数定义的名称,也就是函数名
最新文章
- 据说年薪30万的Android程序员必须知道的帖子
- IE浏览器打开f12才正常
- 【Linux】rsync同步文件 &; 程序自启动
- 分析函数 over用法 之row_number() runk_number
- python去除读取文件中多余的空行
- RabbitMQ的应用场景以及基本原理介绍
- union 时只能查出一个表中的信息,另一个表只能查出字段
- Django extra 和 annotate
- JarvisOJ Misc webshell分析
- servlet 会话管理
- man 命令帮助文件输出乱码
- Windows 局域网ping获取设备IP
- GUI保存打开对话框
- 【python】try...except...后中断程序继续运行
- 用visual studio 2017来调试python
- gatewayworker中使用tcp协议连接硬件设备获取数据报错解决办法!
- 【Revit API】调用Revit内部命令PostableCommand
- [LeetCode] 437. Path Sum III_ Easy tag: DFS
- 获取TrustedInstaller
- 写个关于使用cocostudio Armature实现动画自由切换的小demo