交互判断Guile是否运行
Determine whether Guile is running interactively
如何交互测试Guile是否运行?
目的如下:实现一个异常处理程序,如果不是 运行 交互,异常应该打印一条消息并退出 Guile,否则它们应该打印一条消息并且什么也不做(即 return 到 REPL).
可能有更好的方法,但我有一个建议。在你的 .guile 中通过例如
在 guile 模块中定义一个变量 *interactive*
到 #t
(module-define! (resolve-module '(guile)) '*interactive* #t)
据我所知,.guile 恰好在 guile 交互时执行,而不是在 运行 作为程序时执行。
那么你可以定义如下检查
(define (interactive?) (module-defined? (resolve-module '(guile)) '*interactive*)
如何交互测试Guile是否运行?
目的如下:实现一个异常处理程序,如果不是 运行 交互,异常应该打印一条消息并退出 Guile,否则它们应该打印一条消息并且什么也不做(即 return 到 REPL).
可能有更好的方法,但我有一个建议。在你的 .guile 中通过例如
在 guile 模块中定义一个变量*interactive*
到 #t
(module-define! (resolve-module '(guile)) '*interactive* #t)
据我所知,.guile 恰好在 guile 交互时执行,而不是在 运行 作为程序时执行。
那么你可以定义如下检查
(define (interactive?) (module-defined? (resolve-module '(guile)) '*interactive*)