Scheme 方案#无效错误
我尝试运行以下方案代码:Scheme 方案#无效错误,scheme,void,Scheme,Void,我尝试运行以下方案代码: (define affiche-gagnant (lambda (j1 j2 g1 g2) (begin (display "Le gagnant est : ") (display (cond ((> g1 g2) j1) ((< g1 g2) j2) (else (begin (display "personne. ") (display j1
(define affiche-gagnant
(lambda (j1 j2 g1 g2)
(begin
(display "Le gagnant est : ")
(display
(cond ((> g1 g2) j1)
((< g1 g2) j2)
(else (begin (display "personne. ") (display j1) (display " et ") (display j2) (display " sont exaequos. "))))))))
(定义词缀
(λ(j1 j2 g1 g2)
(开始
(显示“Le gagnant est:”)
(显示
(条件(>g1 g2)j1)
((
但我得到以下输出:
Le gagnant est : personne. Alper et Ezgi sont exaequos. #<void>
Le gagnant est:personne。阿尔珀和埃兹吉是我的朋友#
#void
从何而来?我怎样才能摆脱它呢?哎呀,回答错了。您有一个额外的显示器:
(define affiche-gagnant
(lambda (j1 j2 g1 g2)
(begin
(display "Le gagnant est : ")
(cond ((> g1 g2) (display j1))
((< g1 g2) (display j2))
(else (begin (display "personne. ") (display j1) (display " et ") (display j2) (display " sont exaequos. ")))))))
(定义词缀
(λ(j1 j2 g1 g2)
(开始
(显示“Le gagnant est:”)
(条件((>g1 g2)(显示j1))
((
应该可以工作。在Scheme的某些实现中,任何不应该返回任何内容的函数(如begin、define、set!)实际上都会返回一个特殊值
#
。显示这样的值是错误的。在你的情况下,这是一个额外的“显示”
(定义词缀
(λ(j1 j2 g1 g2)
(开始
(显示“Le gagnant est:”)
(续)
((>g1 g2)j1)
((
请告诉我们如何拨打电话。您可以在我的功能中添加您的答案吗??(附加“Alper”“Ezgi”1)您的功能是正确的。你这样称呼是不对的。你在用什么?DrScheme?球拍?告诉我你在提示中键入了什么来测试你的功能。它是drscheme否,我调用了该功能:(affiche gagnant“Alper”“Ezgi”11)很高兴你第一次使用SO成功:Dif ALPER win你的功能给了我Le gagnant est:我不知道谁赢了游戏
(define affiche-gagnant
(lambda (j1 j2 g1 g2)
(begin
(display "Le gagnant est : ")
(cond
((> g1 g2) j1)
((< g1 g2) j2)
(else (begin (display "personne. ") (display j1) (display " et ") (display j2) (display " sont exaequos. ")))))))