【发布时间】:2018-04-13 01:02:22
【问题描述】:
我正在尝试在 Scheme 中编写一个函数,它只是使用set! 创建一个关联列表。
该函数将接受三个参数:键、值和关联列表,并返回新的关联列表。我的代码如下:
(define al '((A 1) (B 2) (C 3)))
(define (bind k v al)
(cond
((null? al) set! al '((k v)))
(else (set-car! al '(k v)))))
我希望代码按如下方式工作:
现有关联列表:((A 1) (B 2) (C 3))
函数调用: (bind D 4 al)
输出: ((A 1) (B 2) (C 3) (D 4))
但我收到错误:set!: bad syntax in: set! 首次使用 set!
我如何错误地使用set!?
【问题讨论】:
标签: functional-programming scheme racket