我正在使用compileonline来编译方案脚本,这里我有一些超级简单的脚本报告和无效的应用程序错误。你能告诉我什么是错的吗?
(define (nazwa a) (
(cond
((= a 0) 2.0)
((= a 1) 5.0)
);cond
);nazwa
);define
(display (nazwa 0))
完整错误代码:gosh:"错误":无效的应用程序:(2.0)。
答案 0 :(得分:3)
您将cond
表达式包装在一对额外的括号中,Scheme将其作为函数应用程序。所以它需要cond
(在这种情况下为2.0)的结果并尝试将其应用为函数,这显然不起作用。
要明确:定义函数的语法是(define (function-name parameters) expressions)
- 函数体周围没有额外的括号。