- 论坛徽章:
- 0
|
本帖最后由 qinguan0619 于 2011-07-20 23:56 编辑
回复 4# zhlong8
文档给了个例子:
- Examples:
-
- > (define s (string #\A #\p #\p #\l #\e))
- > (string-set! s 4 #\y)
- > s
- "Apply"
复制代码 我试了一下:
- > (define p "hhhh")
- > (string? p)
- #t
- > (string-set! p 2 #\y)
- . . string-set!: expects type <mutable string> as 1st argument, given: "hhhh"; other arguments were: 2 #\y
- > (define q (string #\h #\h #\h #\h))
- > q
- "hhhh"
- > (string-set! q 2 #\y)
- > q
- "hhyh"
- > p
- "hhhh"
- >
-
复制代码 根据错误信息,string-set!需要的是一个可变的字符串作为第一个参数.
这个为什么用string来定义字符串就正确了...
(define p "hhhh")与(define q (string #\h #\h #\h #\h))这个定义有什么区别? |
|