ANSI Common Lisp译本笔记1

第二章   welcome to lisp函数调用是一般用()包裹,第一个参数为函数名,后面的参数为实参。如:加法:(+ 1 2) → 3此种表示法为前序表示法。CLISP的求值方式:1.先对参数从左到右求值,函数符号求值则为函数体,实参符号求值则为实参值2.将实参值应用到函数体中,用于求出最终的值并返回。特殊的操作符:quote,其并不是按照上面的求值
摘要由CSDN通过智能技术生成

第二章   welcome to lisp

函数调用是一般用()包裹,第一个参数为函数名,后面的参数为实参。
如:加法:(+ 1 2) → 3
此种表示法为前序表示法。


CLISP的求值方式:
1.先对参数从左到右求值,函数符号求值则为函数体,实参符号求值则为实参值
2.将实参值应用到函数体中,用于求出最终的值并返回。


特殊的操作符:quote,其并不是按照上面的求值规则,而是特定的规则。
quote接受一个参数并返回那个参数,即:什么也不做,只是将接受的参数值返回。
quote的语法糖为:'(单引号),使用'等价于使用quote。
如:(quote
  (+ 1 2)) → (+ 1 2)或'(+ 1 2)→(+ 1 2)
 
与其他语言不同的数据类型有:符号和列表
符号通常不对自身求值,若想引用一个符号,则要使用'(单引号)。
列表是被括号包住的零个或多个的元素来表示的。可以是任何类型,也包括列表。
要使用列表的话,就要引用,不然lisp会以为是一个函数调用。如:'(1 "aa" (1 2))
引用之后则保护了整个列表及里面的元素不被求值。
可以用list创建一个列表,表示空列表的方式:()或nil
可以用cons来构造列表,若第二个参数是列表,则返回一个由第一个参数和第二个列表组成的新列表。


取出列表中的元素操作:car、cdr
car:取出列表第一个元素
cdr:取出列表第一个元素之后的元素。
其中,还可以使用英文单词,first、second、third...取出特定位置的元素
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值