如果有人能帮忙,我将不胜感激。我已经敲了一天的头,试图让它工作。我搜索了互联网并重读了手册,但我就是不明白。
guile << __EOF__
( define heading-list (list 'a 'b 'c)
)
(define (make-heading-list)
( let* ((mycond #t))
( if mycond
( set!
heading-list
( append (
heading-list
(list 'd)
)
)
)
( display 'false)
)
heading-list
)
)
(make-heading-list)
__EOF__
当我运行这个时,我得到:
ERROR: In procedure setter:
ERROR: In procedure setter: Wrong type argument in position 1: (a b c)
我知道格式是非标准的 - 我会在它工作时修复它。
编辑-----------------------------------------这是工作代码(希望现在格式合理):
guile << __EOF__
(define heading-list (list 'a 'b 'c))
(define (make-heading-list)
(let* ((mycond #t))
(if mycond
(set!
heading-list
(append heading-list (list 'd)))
(display 'false))
heading-list))
(make-heading-list)
__EOF__
heading-list
是一个列表。您正在使用它,就好像它是一个过程一样。 (heading-list)
的意思是"将过程heading-list
应用于零参数"。因此,错误消息"应用的类型错误"。