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

xim*_*myu 19 f# f#-interactive

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

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

pad*_*pad 33

如果未在fsx文件中声明模块,则会隐式创建与文件名同名的模块.

因此,您可以在使用前始终使用完全限定名称或打开相应模块来引用另一个fsx文件.例如,Script2.fsx你可以这样做:

#load "Script1.fsx"

open Script1

// Use functions in Script1.fsx
// ...
Run Code Online (Sandbox Code Playgroud)

  • 请注意,无论文件名如何,隐式模块始终使用Title case (10认同)

Joh*_*mer 28

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

module Script1
Run Code Online (Sandbox Code Playgroud)

在第一个脚本然后你可以做

#load "Script1.fsx"
open Script1
Run Code Online (Sandbox Code Playgroud)

并且您的功能将可访问