F# 脚本在执行后立即结束 (FSI)

F# Script Ends Immediately After Execution (FSI)

当我双击 .fsx 文件时,脚本在执行后立即结束。没有机会与脚本交互或查看它的作用。

我几乎看不到其中一个脚本创建了 WinForms window,但它很快就关闭了。

我尝试了几个默认的 运行 操作(包括发送到 .cmd 文件):

"C:\Program Files (x86)\Microsoft SDKs\F#.1\Framework\v4.0\fsi.exe" "%1" %*
"C:\Program Files (x86)\Microsoft SDKs\F#.1\Framework\v4.0\fsi.exe" --quiet --exec "%1"

你试过的两个命令行确实运行脚本然后退出。如果要保持 REPL 打开以与脚本交互,则需要 --load:file.fsx--use:file.fsx.

  • --use:file.fsx 与 运行ning fsi 的作用大致相同,然后将 file.fsx 的内容粘贴到 REPL 中。因此,例如,如果文件仅包含 let x = 2,那么您可以立即键入 x;;,它将被识别。如果您的文件包含一堆值、语句、类型 and/or 模块,这就是您想要的。

  • --load:file.fsx 与 运行 宁 fsi 和输入 #load "file.fsx" 大致相同。这意味着此文件中定义的值将位于单独的命名空间中。如果您的文件以 namespacemodule 声明开头,这就是您想要的。