基本类型

; 内置数据类型
; 数字(整数 分数 浮点数 复数)
; 字符
; 字符串 是字符序列
; 数组(包括多维数组)
; 列表
; 哈希表
; 输入输出流
; 文件名抽象
; 函数
 
 
; ;数字
; 读取器将文本读取为lisp对象,10 20/2 #xa 都代表10对象
; 其他进制 #B0101二进制 #o71八进制 #nR 2-36 任意进制
 
; 浮点数
; 短型S 单精度F 双精度D 长型L
; 字母e代表默认的单浮点数
1.0 1e0
1d0 1.0d0
123.0 123e0
.123 0.123 123e-3 123E-3 
0.123e20 1.23e+19
123d23 1.23d+25
 
; 复数
#c(2 1)
#c(2/3 3/4)
#c(2 1.0) #c(2.0 1.0)
#c(-6/3 0) -2
#c(3.0 0.0) #c(3.0 0.0)
 
 
; 初等数学+-*/
(/ 2 3) 2/3
(/ 2 3.0) 0.666666667
; /不做截断处理,取整的函数
; FLOOR 向负无穷取整
; CEILING 向正无穷取整
; TRUNCATE 向0取整
; ROUND 摄入的最近的整数上,如果参数位于两个整数之间,则舍入到最近的偶数上
; MOD返回模 REM返回余数 (mod x y) (rem x y)
; 对于正的商等价,对于负的结果不同
; (mod -20 3) 1 (rem -20 3) -2
; 函数 1+ 1- 这两个函数是返回一个新值的函数;INCF DECF宏会修改一个位置
 
(incf x) === (setf x (1+ x)) ===(setf x (+ x 1))
(incf x) === (setf x (+ x 10))
 
 
; 数值比较
; = 等于 数学意义,不考虑类型 (= 2 4/2 2.0 )
; /= 不等于 (/= 1 2 3 4)
; < <= > >=
(max 1 2 3)
(min 1 2 3)
(zerop 0)
(plusp 1)
(minusp -1)
(evenp 2)
(oddp 1)
 
; ;;;;字符
; #\前缀
; 其他字符 #\space #\newline #\tab #\linefeed #\return #\backspace
 
; 字符比较
; 数值相似物            大小写相关            大小写无关
; =                                CHAR=                        CHAR-EQUAL
; /=                            CHAR/=                    CHAR-NOT-EQUAL
; <                                CHAR<                        CHAR-LESSP
; >                                CHAR>                        CHAR-GREATERP
; <=                            CHAR<=                    CHAR-NOT-GREATEP
; >=                            CHAR>=                    CHAR-NOT-LESSP
 
 
; 字符串,用双引号
; \是转移字符
; 字符串比较方式
; STRING= 可以写参数:start1 :end1 :start2 :end2
; STRING/= 返回第一个字符串中第一个不相同的位置,第一个是第二个的前缀,返回值就是第一个字符的长度了,呵呵
 




posted @ 2012-04-11 08:45  舜耕山翁  阅读(161)  评论(0编辑  收藏  举报