我一直在使用Scheme大约10分钟,偶然发现了这个错误:
scheme@(guile-user) [2]> (define (a one two) ((* one two)))
scheme@(guile-user) [2]> (a 2 3)
ERROR: In procedure 6:
ERROR: Wrong type to apply: 6
我原本希望这回复6.“申请”如何进入? 这个错误意味着什么?
答案 0 :(得分:6)
Scheme中的括号不仅仅是一个分组结构。它们通常意味着功能应用。
错误与define
的正文有关。具体来说,
((* one two))
装置
调用一两乘的结果
JS等价物就像
function a (one, two) { (one * two)(); }
您最有可能将该功能定义为
(define (a one two) (* one two))
这只是乘法,应该可以正常工作。