如何提前终止计划程序? (有退出吗?)

时间:2011-10-15 22:36:30

标签: scheme exit

我想要像:

(cond ((< x 3) (and (display "Error Message") (exit)))

(else (foo y))

换句话说,我想显示一条消息并在满足条件时终止。我怎样才能做到这一点?有这样的退出功能吗?

提前致谢!

3 个答案:

答案 0 :(得分:6)

SRFI 23提供了error。对于错误条件,这样做比调用exit好得多,因为它使其他代码可以捕获错误并进行错误处理。 (有些实现实现了exit作为例外,但这并不意味着使用error更合适。)

SRFI 34提供了更完整的异常工具,可能比error更合适。

答案 1 :(得分:3)

R5RS Scheme和先前版本不需要退出功能,但大多数实现都提供了退出功能。 R6RS Scheme确实需要退出功能。即使没有退出功能,通常也可以安排程序的控制流程,使其在完成时“脱离结束”。如果你需要一个退出而你的实现没有提供退出,你可以使用call / cc。

建立自己的退出

答案 2 :(得分:1)

在ChezScheme上,我输入:

(exit)

我花的时间比第一次退出vim要短得多。