在方案中显示和 return 某些内容的程序?
Procedure to display and return something in scheme?
我希望我的程序打印一些东西,然后 return 打印一些东西。我试过这个
(define (print x)
((display x)
x))
难道不应该直接说这个过程首先显示 x
然后 return 就像它在过程结束时所表达的那样吗?好吧,显然这是错误的,而且我对 Scheme 有一些非常基本的东西不了解。所以任何人,帮助我理解这一点。谢谢
发布的代码括号过多。在Lisp中,括号是有意义的,表示函数调用,而不仅仅是操作数的分组
使用 ((display x) x)
,您的代码尝试调用 作为函数 调用 (display x)
返回的(在 R6RS 方案中未指定)值,使用x
的值作为该函数调用中的参数。相反:
(define (print x)
(display x)
x)
有效。
只需删除多余的括号即可。它们并非无害。
我希望我的程序打印一些东西,然后 return 打印一些东西。我试过这个
(define (print x)
((display x)
x))
难道不应该直接说这个过程首先显示 x
然后 return 就像它在过程结束时所表达的那样吗?好吧,显然这是错误的,而且我对 Scheme 有一些非常基本的东西不了解。所以任何人,帮助我理解这一点。谢谢
发布的代码括号过多。在Lisp中,括号是有意义的,表示函数调用,而不仅仅是操作数的分组
使用 ((display x) x)
,您的代码尝试调用 作为函数 调用 (display x)
返回的(在 R6RS 方案中未指定)值,使用x
的值作为该函数调用中的参数。相反:
(define (print x)
(display x)
x)
有效。
只需删除多余的括号即可。它们并非无害。