我正在测试变量的重新定义是否可以在Scheme中工作,在Gambit中测试了这段代码:
(let-values ((x (values 1 2 3))
(x (values 4 5 6)))
(display x)
(newline))
看看输出是什么。但是 Gambit 抛出了一个错误:
未绑定变量:let-values
但是我检查了源代码并且let-values 已实现。如何在 Gambit 中使用此名称。它可能与库有关,但我不知道如何在 Gabmit 中使用它们。
我已经尝试过:
(import gambit)
但出现错误:
未绑定变量:导入
我正在用
gsi file.scm
执行策略
使用策略 4.9.5:
> (let-values ((x (values 1 2 3))
(x (values 4 5 6)))
(display x)
(newline))
*** ERROR IN (stdin)@5.15 -- Duplicate variable in bindings
它不允许您在绑定中重复使用标识符; R7RS 谈到
let-values
变量在
集合中出现多次是错误的。<formals>
解决这个问题,它就可以工作了:
> (let-values ((x (values 1 2 3))
(y (values 4 5 6)))
(display x)
(newline))
(1 2 3)
我无法复制根本看不到
let-values
的错误;您问题中的最小完整可验证示例将有助于追踪问题。