gpt4 book ai didi

.net - FSI 是否能很好地处理多模块 F# 项目?

转载 作者:行者123 更新时间:2023-12-01 07:46:01 24 4
gpt4 key购买 nike

FSI 能否很好地处理多模块/文件 F# 项目?考虑以下项目:

模块.fs:

module Xyz

let add x y = x + y

程序.fs:

module Program

open Xyz
let result = add 1 2

选择并运行 Program.fs 的最后两行将产生以下 FSI 错误:

Program.fs: error FS0039: The namespace or module 'Xyz' is not defined

这里有什么问题?


那么,假设我有以下项目结构:

A.fs
B.fs
C.fs
D.fs
E.fs

我想运行E.fs的一些功能。 E.fs 使用所有其他 .fs 文件,因此我为每个文件都打开了一个 open。如果稍后我还想从任何其他文件运行一些代码,我将不得不对之前不是 #loaded 的任何文件重复该过程。

根据您的建议,似乎要让我的 E.fs 文件在 FSI 上运行,我要么必须创建一个单独的 .fsx 文件,要么有一个单独的

#if INTERACTIVE
#load "..."

对于我将使用的每个模块,IMO 非常多余。我是否遗漏了什么,或者这是否明显违反了 KISS 和 DRY 原则?

最佳答案

错误是因为你还没有加载文件 - 它对我来说工作正常

 $ fsi --load:module.fs --load:Program.fs

Microsoft (R) F# 2.0 Interactive build 2.0.0.0
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

[Loading /suphys/jpal8929/fsbug/module.fs
Loading /suphys/jpal8929/fsbug/Program.fs]

namespace FSI_0002
val add : int -> int -> int


namespace FSI_0002
val result : int

>

关于.net - FSI 是否能很好地处理多模块 F# 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7239294/

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