1 2 | (not #f) => #t (not #t) => #f |
1 2 3 4 5 6 | guile> (not 1) #f guile> (not (list 1 2 3)) #f guile> (not 'a) #f |
1 2 3 4 5 6 | guile> (define a (quote xyz)) ; 定义变量a为符号类型,值为xyz guile> a xyz guile> (define xyz 'a) ; 定义变量xyz为符号类型,值为a guile> xyz a |
1 2 3 4 5 6 7 8 9 10 | guile> (define name "tomson") guile> name "tomson" guile> (string-length name) ; 取字符串的长度 6 guile> (string-set! name 0 #\g) ; 更改字符串首字母(第0个字符)为小写字母g (#\g) guile> name "gomson" guile> (string-ref name 3) ; 取得字符串左侧第3个字符(从0开始) #\s |
1 2 3 | guile> (define other (string #\h #\e #\l #\l #\o )) guile> other "hello" |
1 2 3 | (define p (cons 4 5)) => (4 . 5) (car p) => 4 (cdr p) => 5 |
1 2 | (set-car! p "hello") (set-cdr! p "good") |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | guile> (define la (list 1 2 3 4 )) guile> la (1 2 3 4) guile> (length la) ; 取得列表的长度 4 guile> (list-ref la 3) ; 取得列表第3项的值(从0开始) 4 guile> (list-set! la 2 99) ; 设定列表第2项的值为99 99 guile> la (1 2 99 4) guile> (define y (make-list 5 6)) ;创建列表 guile> y (6 6 6 6 6) |
1 2 3 | guile> (define a (cons 1 (cons 2 (cons 3 '())))) guile> a (1 2 3) |
1 2 3 4 5 6 7 | guile> (define ls (list 1 2 3 4)) guile> ls (1 2 3 4) guile> (list? ls) #t guile> (pair? ls) #t |
1 2 3 4 | guile> (car ls) 1 guile> (cdr ls) (2 3 4) |
1 2 3 4 5 6 7 8 | guile> (cadr ls) ; 此"点对"对象的cdr的car 2 guile> (cddr ls) ; 此"点对"对象的cdr的cdr (3 4) guile> (caddr ls) ; 此"点对"对象的cdr的cdr的car 3 guile> (cdddr ls) ; 此"点对"对象的cdr的cdr的cdr (4) |
1 | (define x (cons 'a (cons 'b (cons 'c (cons 'd '()))))) |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |