关于cdar 和cdr的使用
请问,上图中的代码,这么多的函数综合起来,代表什么意思哦?实在是看不懂。
按照括号的顺序 就读出来了
(cdr 串行) 除去第一个元素后的串行
(cadr 串行)串行中的第二个元素通常用来求 y 坐标
(strcase 字符串 [字样]) 转换字符串大小写
(cons 新元素 串行)
(lambda 自变量 表示式) 定义未具名的函数
(mapcar 函数 串行1 串行2 ...) 将串行1、串行2、„等串行的 元素配合函数,求得新串行
应该是最后得到了一个坐标 Construction;Address;Data;Read car翻译过来就是读取表中的地址,就是第一个元素,cdr就是读取数据就是除去第一个元素的表,只有car和cdr才是原生函数,组合的都是一种宏,可以最多组合五个,第一个是a则读取的一定是一个原子,第一个是d则读取的一定是一个表。是一按堆栈的方式读取命令,也就是执行顺序是从后往前执行。例如caddr,相当于(car(cdr(cdr construction)))。第一台lisp机器叫cons,第二台叫cadr。网上没说第三台,或许没有第三台就已经被冯诺依曼机抢了天下。如果有,我想应该会取名caddr
页:
[1]