我有一些函数循环,每次迭代它读取输入,在“0”它调用函数“退出并保存”,在该函数中它保存了一些数据库,之后,我需要它退出程序?这是什么命令?如果我使用return-from ...它只是从函数返回,如果我使用return - error,如果我使用quit,它将从slime中断开。我在Common Lisp的新...所有的在通用lisp中退出完整程序的功能是什么?
-4
A
回答
0
(loop for i from 0 to 10
do (progn (format t "~&cycle ~d" i)
(when (> i 5)
(return nil))))
0
首先使用我无法验证煤泥断开(退出),在Ubuntu的,至少不使用SBCL。
CL-USER> (quit)
; Evaluation aborted on NIL.
CL-USER>
"still able to input here"
但是,如果你有粘液的一些畸形的版本,你可以把空调系统的优势:
(define-condition end-program-condition (simple-error)())
(defun some-func()
(error 'end-program-condition))
(defun main-function()
(handler-case (some-func)
(end-program-condition() "THE END")))
CL-USER> (main-function)
"THE END"
CL-USER> "still can input here"
"still can input here"
你有什么期望,当你在一个Lisp系统运行 调用'quit'发生粘液? – Svante 2012-04-01 20:58:36
这可能有助于查看您想要做什么的示例。这大致听起来好像你在程序设计方面存在问题,在那里你很难“检测到最终”状态。这种“退出并保存”功能似乎不太可能奏效。 – BRFennPocock 2012-10-10 19:12:57