マージソートプログラムを再実行するときに、関数内にmatch with
ステートメントを実装しました。 'chunkA'
は、関数のパラメータの中に明記されていたことから、関数パラメータの名前空間またはモジュール 'XXXXX'が定義されていません
The namespace or module 'chunkA' is not defined.
これは紛らわしいです:
let rec merge (array : int[]) (chunkA : int[]) (chunkB : int[]) a b i =
match a, b with
| chunkA.Length, _ -> chunkB
| _, chunkB.Length -> chunkA
| _ when chunkB.[b] < chunkA.[a]
-> array.[i] <- chunkB.[b]
merge array chunkA chunkB a (b+1) (i+1)
| _ -> array.[i] <- chunkA.[a]
merge array chunkA chunkB (a+1) b (i+1)
ただし、Visual Studioはエラーを投げました。
さらに、私はF#と関数型プログラミング一般にかなり新しいです。私のコード内の構造や方法論が同程度でない場合は、この点についてもお気軽にコメントしてください。
また、厚くなっている場合は、私にもそのことを教えてください。あなたは試合を使用する場合
多くのおかげで、ルーク