我在HelperFunctions.fs中写了这个:
namespace Tutorial1.HelperFunctions
module Factorials =
let rec fact n =
match n with
| 0 -> 1
| 1 -> 1
| _ -> n * fact (n - 1)
然后在 Tutorial.fsx 中:
#load "HelperFunctions.fs"
open Tutorial1.HelperFunctions
module start =
let x = Factorials.fact 5
printfn "%d" x
代码按预期编译并返回 120,但是:VS 抛出 FS0039 错误:未定义阶乘和 Tutorial1 命名空间、类型或模块...尝试了许多其他开放、模块等组合,但随后代码甚至无法编译。我在这里没有看到的问题是什么?
好的,显然 vstudio 中文件的顺序很重要,即使您将文件包含在 #load 中。我不得不向上移动文件,它有效