1

显然,当使用 F# 交互时,这行代码将在主题行中显示的路径中搜索。

let files = Directory.GetFiles("MyFolderPath")

有什么方法可以设置交互来搜索当前 fsx 文件正在运行的同一文件夹?或者有什么方法可以控制这种行为?我已经习惯了从 bin\Debug 开始的搜索,这种行为让我很失望。

提前致谢,

鲍勃

4

2 回答 2

3

这取决于进程 fsi.exe 的启动位置。Fsi 与 IDE 分离,它不知道打开的是哪个文件。运行 Visual Studio 时,fsi 的当前目录是 temp 文件夹。

如果您运行 fsx 文件(fsi foo.fsx或右键单击“使用 F# Interactive 运行”),fsi 将从当前目录运行。

要查看您所在的位置(在哪个目录中),您可以执行以下操作:

Directory.GetCurrentDirectory()

要更改目录,请使用以下命令:

Directory.SetCurrentDirectory(...)
于 2011-04-13T17:49:52.650 回答
0

F# interactive 完全独立于当前的 F# 程序(实际上,可以将其视为在单独的 CMD shell 中运行)。所以恐怕没有简单的方法来获取当前打开的 .fsx 文件。

您也许可以从中提取一些东西,fsi.CommandLineArgs但我手头没有 VS 来确认这一点。

于 2011-04-13T17:39:31.287 回答