gpt4 book ai didi

F#:为什么脚本文件不能识别模块?

转载 作者:行者123 更新时间:2023-12-01 22:59:37 28 4
gpt4 key购买 nike

我在 Visual Studio 2015 中创建了一个新的 F# 控制台应用程序项目
我创建了一个名为 Calc.fs 的简单新模块文件,如下所示:

module Calc

let add a b = a + b

我向项目中添加了一个 F# 脚本文件,如下所示:
open Calc

let c = add 1 2

我在脚本文件中收到以下编译器错误:

The namespace or module 'Calc' is not defined





The value or constructor 'add' is not defined



为什么我的脚本文件无法识别我的模块?我怎样才能解决这个问题?

请注意,我的脚本文件按照项目中文件的顺序出现在模块之后:

enter image description here

最佳答案

.fsx 文件不与项目的其余部分一起编译;除非您明确告知他们,否则他们不会“知道”任何其他代码。对于任何外部 DLL(实际上甚至在 .NET Framework 中的许多)以及其他 F# 代码都是如此。

您需要添加

#load "Calc.fs"

在脚本文件的顶部,告诉编译器在评估脚本的其余部分之前加载该代码。

关于F#:为什么脚本文件不能识别模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50181215/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com