我想将一个或多个.fsx
文件加载到F#interactive中,并在范围内的.fsx
文件中定义所有函数,以便我可以直接使用控制台中的函数。 / p>
#load
指令执行指定的.fsx
文件,但后来我无法在.fsx
文件中使用这些函数。有什么解决方法吗?感谢。
答案 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