错误的类型适用?

时间:2015-09-21 14:38:22

标签: scheme

我一直在使用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.“申请”如何进入? 这个错误意味着什么?

1 个答案:

答案 0 :(得分:6)

Scheme中的括号不仅仅是一个分组结构。它们通常意味着功能应用。

错误与define的正文有关。具体来说,

((* one two))

装置

  

调用一两乘的结果

JS等价物就像

function a (one, two) { (one * two)(); }

您最有可能将该功能定义为

(define (a one two) (* one two))

这只是乘法,应该可以正常工作。