我在Windows上使用新泽西SML。如果test.sml
是SML文件,我可以通过在Windows命令提示符下运行它来执行它:
C:\> sml test.sml
然后我得到通常的SML输出和一个新的SML命令提示符。
Standard ML of New Jersey v110.75 [built: Sat Sep 29 12:51:13 2012]
[opening hw1.sml]
val d2 = (1,1) : int * int
val d3 = (1,1) : int * int
val d4 = (2,1) : int * int
val d5 = (1,2) : int * int
val x7 = true : bool
-
我想要的是退出到Windows命令提示符,而不是留在SML交互模式。
我该怎么做?
答案 0 :(得分:12)
你有没有尝试过:
sml <test.sml
除此之外,使用其编译管理器(CM)SML / NJ实际上允许您将程序编译为二进制文件并单独运行它们。 manual应该能够告诉你更多信息(特别参见描述ml-build命令的第15节)。
答案 1 :(得分:4)
以这种方式运行SML / NJ,它将打开REPL(read-eval-print-loop)。因此,它将等待新的声明解释,直到你告诉它退出。
根据usage上的SML / NJ常见问题解答,然后
OS.Process.exit函数是从程序中退出sml的正确方法。
它需要OS.Process.success
或OS.Process.failure
作为参数。
答案 2 :(得分:0)
也可以从命令行:
Ctrl - C 中断(包含不会退出的循环等等)
Ctrl - Z 退出REPL