请教这是为什么?DrScheme中的string-set!
(define x "hello")
x
==>"hello"
(string-set! x 0 #p)
==>string-set!: expects type <mutable string> as 1st argument, given: "hello"; other arguments were: 0 #p ;;;;;;;;;;;;结果错误???
(define x (string #h#e#l#l#o))
x
==>"hello"
(string-set! x 0 #p)
x
==>"pello" ;;;;;;;;结果正确
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
可变串应该不是标准scheme类型。
<scheme程序设计语言>也没有提到。
sicp里除了error用到串, 很少提及串这东西。 和Unix里到处都是字符串的情况真是巨大的差别。
把以前的东西暂时都忘了,才能学到scheme里遍地的“新”东西。
DrScheme 自带的 help 文档。网上也有:
http://docs.plt-scheme.org/reference/strings.html
只读是 drscheme 的个性吧,我用 guile 试,"hello" 也是可改写的。
多谢。
查了一下r5rs,好像没有上面的表述。是什么书里的?