2012-03-03 39 views
17

我想給一個或多個.fsx文件加載到F#互動,並有在範圍.fsx文件中定義的,這樣我就可以直接使用功能,在控制檯的所有功能。如何加載外部F#腳本文件並在F#中使用它?

#load指令執行指定的.fsx文件,但後來我不再能在.fsx文件中使用這些功能。任何解決方法?謝謝。

回答

20

我懷疑自己加載腳本是不是可能會導致您的問題模塊中。就在第一個腳本中添加

module Script1 

,然後你可以做

#load "Script1.fsx" 
open Script1 

,你的功能將可以訪問

+0

然後你就失去獨立運行'Script1.fsx'的能力。 – pad 2012-03-03 11:45:34

+0

是啊,這個作品,如果我在Windows我......但是,如果使用單在我的Mac它仍然無法正常工作。 – ximyu 2012-03-04 20:07:18

+0

這樣做,這樣可以讓你用你的* .FS源文件在您的* .fsx呢! – 2017-10-09 17:19:28

26

如果你不聲明在FSX文件的模塊,它含蓄地創建一個模塊相同的名稱作爲文件名。

因此,您可以使用完全合格的名稱或使用前打開相應的模塊總是指向另一個FSX文件。例如,在Script2.fsx你可以這樣做:

#load "Script1.fsx" 

open Script1 

// Use functions in Script1.fsx 
// ... 
+9

注意,隱模塊總是使用標題的情況下,無論文件名 – 2014-05-20 07:40:21

+1

非常的好的意見... – 2016-06-06 15:27:39