如何加载外部F#脚本文件并在F#interactive中使用它?

时间:2012-03-03 10:46:37

标签: f# f#-interactive

我想将一个或多个.fsx文件加载到F#interactive中,并在范围内的.fsx文件中定义所有函数,以便我可以直接使用控制台中的函数。 / p>

#load指令执行指定的.fsx文件,但后来我无法在.fsx文件中使用这些函数。有什么解决方法吗?感谢。

3 个答案:

答案 0 :(得分:32)

如果您没有在fsx文件中声明模块,它会隐式创建一个与文件名相同的模块。

因此,您可以在使用前始终使用完全限定名称或打开相应模块来引用另一个fsx文件。例如,您可以在Script2.fsx中执行以下操作:

#load "Script1.fsx"

open Script1

// Use functions in Script1.fsx
// ...

答案 1 :(得分:27)

我怀疑您加载的脚本不在可能导致问题的模块中。只需添加

module Script1

在第一个脚本中然后你就可以了

#load "Script1.fsx"
open Script1

您的功能可以访问

答案 2 :(得分:0)

要从终端运行脚本并以交互方式使用它,可以添加下一条指令:

#if INTERACTIVE
#else
module Script
#endif