FSIはマルチモジュール/ファイルF#プロジェクトをうまく処理しますか?次のプロジェクトについて考えてみます。
module.fs:
module Xyz
let add x y = x + y
Program.fs:
module Program
open Xyz
let result = add 1 2
の最後の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
、それぞれに1つずつあります。後で他のファイルのいずれかからコードを実行したい場合は、#loaded
以前になかったファイルに対してプロセスを繰り返す必要があります。
あなたの提案から、私のファイルをFSIで実行するように思わE.fs
れます。別の.fsxファイルを作成するか、別の.fsxファイルを作成する必要があります。
#if INTERACTIVE
#load "..."
使用するモジュールごとに、IMOはかなり冗長です。私はここで何かが欠けていますか、それともこれはKISSとDRYの両方の原則の明らかな違反ですか?