Как загрузить внешний файл F # script и использовать его в F # interactive?
Я хотел бы загрузить один или несколько файлов .fsx
в F # interactive и иметь все функции, определенные в файлах .fsx
в области видимости, чтобы я мог напрямую использовать функции в консоли.
Директива #load
выполняет указанный файл .fsx
, но тогда я больше не могу использовать эти функции в файле .fsx
. Любое обходное решение для этого? Спасибо.
Ответы
Ответ 1
Я подозреваю, что загружаемый script не находится в модуле, который может вызвать вашу проблему. Просто добавьте
module Script1
в первом script, а затем вы можете сделать
#load "Script1.fsx"
open Script1
и ваши функции будут доступны
Ответ 2
Если вы не объявляете модуль в файле fsx, он неявно создает модуль с тем же именем, что и имя файла.
Поэтому вы всегда можете ссылаться на другой файл fsx, используя полностью квалифицированные имена или открывая соответствующие модули перед использованием. Например, в Script2.fsx
вы можете:
#load "Script1.fsx"
open Script1
// Use functions in Script1.fsx
// ...