当我双击.fsx文件时,脚本会在执行后立即结束。没有机会与脚本交互或看到它的作用。
我几乎看不到其中一个脚本创建了一个WinForms窗口,但很快就关闭了。
我尝试了几种默认的Run操作(包括发送到.cmd文件):
"C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\fsi.exe" "%1" %*
"C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\fsi.exe" --quiet --exec "%1"
答案 0 :(得分:2)
您尝试过的两个命令行确实运行了脚本然后退出。如果您希望打开REPL以与脚本交互,则需要--load:file.fsx
或--use:file.fsx
。
--use:file.fsx
与运行fsi大致相同,然后将file.fsx
的内容粘贴到REPL中。因此,例如,如果文件只包含let x = 2
,那么您可以立即键入x;;
并将其识别。如果您的文件包含一堆值,语句,类型和/或模块,那么这就是您想要的。
--load:file.fsx
与运行fsi并输入#load "file.fsx"
大致相同。这意味着此文件中定义的值将位于单独的命名空间中。如果您的文件以namespace
或module
声明开头,那么这就是您想要的。