1 2 3 4 5 6 7 8 9 10 11 12 13 | guile> (define v (vector 1 2 3 4 5)) guile> v #(1 2 3 4 5) guile> (vector-ref v 0) ; 求第n个变量的值 1 guile> (vector-length v) ; 求vector的长度 5 guile> (vector-set! v 2 "abc") ; 设定vector第n个元素的值 guile> v #(1 2 "abc" 4 5) guile> (define x (make-vector 5 6)) ; 创建向量表 guile> x #(6 6 6 6 6) |
1 | (类型? 变量) |
1 2 3 | (boolean? #t) => #t (boolean? #f) => #t 因为#t和#f都是boolean类型,所以其值为#t (boolean? 2) => #f 因为2是数字类型,所以其值为 #f |
1 2 3 4 5 6 | (char? #\space) => #t (char? #\newline) => #t 以上两个特殊字符:空格和换行 (char? #\f) => #t 小写字母 f (char? #\;) => #t 分号 ; (char? #\5) => #t 字符 5 ,以上这些都是正确的,所以返回值都是 #t (char? 5) => #f 这是数字 5 ,不是字符类型,所以返回 #f |
1 2 3 4 5 6 7 8 9 10 11 12 13 | (integer? 1) => #t (integer? 2345) => #t (integer? -90) => #t 以上三个数均为整数 (integer? 8.9) => #f 8.9不整数 (rational? 22/7) => #t (rational? 2.3) => #t (real? 1.2) => #t (real? 3.14159) => #t (real? -198.34) => #t 以上三个数均为实数型 (real? 23) => #t 因为整型属于实型 (number? 5) => #t (number? 2.345) => #t (number? 22/7) => #t |
1 2 3 4 5 | (null? '()) => #t ; null意为空类型,它表示为 '() ,即括号里什么都没有的符号 (null? 5) => #f (define x 123) 定义变量x其值为123 (symbol? x) => #f (symbol? 'x) => #t ; 此时 'x 为符号x,并不表示变量x的值 |
1 2 | (eqv? 34 34) => #t (= 34 34) => #t |
1 2 3 4 5 6 | guile> (define v (vector 3 4 5)) guile> (define w #(3 4 5)) ; w和v都是vector类型,具有相同的值#(3 4 5) guile> (eq? v w) #f ; 此时w和v是两个对象 guile> (equal? v w) #t ; 符合equal?的判断要求 |
1 2 3 4 5 6 7 8 9 10 11 12 | guile> (define x (make-vector 5 6)) guile> x #(6 6 6 6 6) guile> (eq? x x) ; 是同一个对象,所以返回#t #t guile> (define z (make-vector 5 6)) guile> z #(6 6 6 6 6) guile> (eq? x z) ; 不是同一个对象 #f guile> (equal? x z) ; 结构相同,内容相同,所以返回#t #t |
1 2 | (- 4) => -4 (/ 4) => 1/4 |
1 2 3 | max 求最大 (max 8 89 90 213) => 213 min 求最小 (min 3 4 5 6 7) => 3 abs 求绝对值 (abs -7) ==> 7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | guile> (number->string 123) ; 数字转换为字符串 "123" guile> (string->number "456") ; 字符串转换为数字 456 guile> (char->integer #\a) ;字符转换为整型数,小写字母a的ASCII码值为96 97 guile> (char->integer #\A) ;大写字母A的值为65 65 guile> (integer->char 97) ;整型数转换为字符 #\a guile> (string->list "hello") ;字符串转换为列表 (#\h #\e #\l #\l #\o) guile> (list->string (make-list 4 #\a)) ; 列表转换为字符串 "aaaa" guile> (string->symbol "good") ;字符串转换为符号类型 good guile> (symbol->string 'better) ;符号类型转换为字符串 "better" |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |