【发布时间】:2015-07-10 20:21:26
【问题描述】:
这是一个尝试根据变量的值将不同的字符串写入标准输出的示例:
(let ((x 1))
(cond ((< x 2)
(display "hooray"))
(else
(display "bummer")))
)
请注意,确实写入了正确的字符串,但我们也得到了“未指定的返回值”
我的理解是,发生这种情况是因为解释器试图将子句的“后件表达式”的值作为条件的值返回,但“显示”表达式没有返回任何值。
有更好的方法吗?
【问题讨论】:
-
请记住,返回值仅打印在 REPL 中,如果您从命令行运行
mit-scheme --quiet --load ./my-file,则不会打印返回值。
标签: scheme lisp mit-scheme