我希望将一个或多个.fsx
文件加载到F#交互中,并使.fsx
文件中定义的所有函数都在作用域中,这样我就可以直接使用控制台中的函数。
#load
指令执行指定的.fsx
文件,但是之后我就不能再在.fsx
文件中使用这些函数了。是否有解决此问题的方法?谢谢。
发布于 2012-03-03 19:20:10
我怀疑您正在加载的脚本不在模块中,这可能会导致您的问题。只需添加
module Script1
在第一个脚本中,然后您可以这样做
#load "Script1.fsx"
open Script1
这样你的函数就可以访问了
发布于 2012-03-03 19:01:59
如果你没有在fsx文件中声明一个模块,它会隐式地创建一个与文件名相同的模块。
因此,您始终可以使用完全限定名称或在使用之前打开相应的模块来引用另一个fsx文件。例如,在Script2.fsx
中,您可以执行以下操作:
#load "Script1.fsx"
open Script1
// Use functions in Script1.fsx
// ...
发布于 2020-10-17 16:33:25
为了从终端运行脚本并在交互模式下使用它,您可以添加以下指令:
#if INTERACTIVE
#else
module Script
#endif
https://stackoverflow.com/questions/9545472
复制相似问题