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解释器将要执行的命令。

变量

一个符号可以同时是一个函数定义的名称,也就是函数名

最新文章

  1. 据说年薪30万的Android程序员必须知道的帖子
  2. IE浏览器打开f12才正常
  3. 【Linux】rsync同步文件 & 程序自启动
  4. 分析函数 over用法 之row_number() runk_number
  5. python去除读取文件中多余的空行
  6. RabbitMQ的应用场景以及基本原理介绍
  7. union 时只能查出一个表中的信息,另一个表只能查出字段
  8. Django extra 和 annotate
  9. JarvisOJ Misc webshell分析
  10. servlet 会话管理
  11. man 命令帮助文件输出乱码
  12. Windows 局域网ping获取设备IP
  13. GUI保存打开对话框
  14. 【python】try...except...后中断程序继续运行
  15. 用visual studio 2017来调试python
  16. gatewayworker中使用tcp协议连接硬件设备获取数据报错解决办法!
  17. 【Revit API】调用Revit内部命令PostableCommand
  18. [LeetCode] 437. Path Sum III_ Easy tag: DFS
  19. 获取TrustedInstaller
  20. 写个关于使用cocostudio Armature实现动画自由切换的小demo

热门文章

  1. java copy array
  2. [USACO17DEC] Barn Painting
  3. 学习Flash 3D图形图像知识的网络资源集合
  4. 关于MapControl和PageLayout地图同步的问题
  5. 解决Eclipse 变量名的自动补全问题
  6. webstorm编辑器设置为vim的方法
  7. 150725培训心得(vector)
  8. python gzip压缩
  9. 计算GPS两点间的距离[单位为:米]
  10. Java 数字签名原理及产生