SMLNJ REPL 错误“!* 无法处理...”
SMLNJ REPL error "!* unable to process ..."
我在 Mac OS X 10.9 上使用 SML NJ v110.78。我正在尝试使用来自 BASH 的命令行参数,如下所示:
sml progname.sml 2.0 1.0.
程序progname.sml编译并运行并使用命令行参数产生一个值(使用SMLofNJ.getArgs()函数),但在处理结束时,REPL returns错误:
!* unable to process `2.0' (unknown extension `0')
!* unable to process `1.0' (unknown extension `0')
-
如何避免这些最终错误消息?
谢谢。
您需要使用退出语句终止 REPL:
val _ = OS.Process.exit(OS.Process.success);
当你没有以上述方式退出 REPL 时,命令行参数将被解释器视为编译器扩展,因此反馈:
!* unable to process `2.0' (unknown extension `0')
顺便说一句:您可以使用 OS.Process.exit(OS.Process.success);
退出 REPL 作为 CTRL+Z
的更简洁的替代方法
我在 Mac OS X 10.9 上使用 SML NJ v110.78。我正在尝试使用来自 BASH 的命令行参数,如下所示:
sml progname.sml 2.0 1.0.
程序progname.sml编译并运行并使用命令行参数产生一个值(使用SMLofNJ.getArgs()函数),但在处理结束时,REPL returns错误:
!* unable to process `2.0' (unknown extension `0')
!* unable to process `1.0' (unknown extension `0')
-
如何避免这些最终错误消息?
谢谢。
您需要使用退出语句终止 REPL:
val _ = OS.Process.exit(OS.Process.success);
当你没有以上述方式退出 REPL 时,命令行参数将被解释器视为编译器扩展,因此反馈:
!* unable to process `2.0' (unknown extension `0')
顺便说一句:您可以使用 OS.Process.exit(OS.Process.success);
退出 REPL 作为 CTRL+Z