经过几年的节目,似乎时间终于出击SICP。但是,我并不想编辑和运行Emacs中的所有内容,而是使用其他编辑器和简单的makefile来运行所有练习。这看起来并不完全正典,因为我找不到任何与运行文件一样基本的东西,除非某些“失败”。那么,如何外壳上运行方案,使其加载一个文件,评估在序列中的每个表情,并尽快与非零退出代码终止,因为它遇到了在评估为#f
或退出代码的声明零如果整个文件被评估成功?最接近的事到目前为止的解决方案:运行SICP计划文件,如快速测试失败
$ cat ch1.scm
...
(= 1 2)
$ scheme --load ch1.scm
...
Loading "ch1.scm"... done
1 ]=>
编辑:换句话说,是有一些方法ch1.scm负荷期间做出评价停止,如果任何表达式其中评估为#f
?
你是不是在寻找像RackUnit(一个单元测试库http://docs.racket-lang.org /rackunit/index.html)? –
这将是最后的手段,因为在像Python和Bash这样的语言中,这将是矫枉过正的。 – l0b0
基本上什么是你想在bash做,可以直接在方案来完成,给我你的方法看起来像矫枉过正:) –