【发布时间】:2013-01-10 05:18:36
【问题描述】:
给定以下代码:
(define (g x y) (* x y))
(define (f x y z)
(define (h x y)(g (+ x y) x z))h)
请注意,我将 3 参数传递给 g ,其中 g 仅接受 2 。
但是,解释器没有显示错误消息,为什么?
问候
【问题讨论】:
-
当您实际上没有调用任何参数数量错误的东西时,预计不会出现错误消息。
-
@AntonKovalenko:但我确实调用了
g,我使用3参数调用它... -
然后显示您调用
g的代码。在您当前的代码中,您定义了一些如果有机会会调用g。 -
@AntonKovalenko:啊哈!明白了,只有当我用
3参数实际调用g时,我才会得到预期的错误! +1!谢谢:)
标签: function functional-programming scheme