線形代数には多くの外部パッケージがあることは知っていますが、私の質問は、いつ f# を使用し、いつ c# を使用するのかということです。簡単な例を作成しましたが、これを行っているうちに、単純すぎるかもしれないことに気付きました。しかし、2つの配列の要素ごとの分割を行いたいとしましょう:
命令的なc#:
static double[] elementdivideimp (double[] arr1, double[] arr2)
{
var res = new double[arr1.Length];
for (int i = 0; i < arr1.Length; i++)
{
res[i] = arr2[i]/arr1[i];
}
return res;
}
リンク c#:
static double[] elementdivideL(double[] arr1, double[] arr2)
{
return arr1.Zip(arr2, (a, b) => b/a).ToArray();
}
f#:
let elementdividefunc a b = Array.map2 (fun i j -> (j / i)) a b
前述のように、これは単純すぎるかもしれませんが、プログラミングの課題に直面したときにどの言語を使用するかを決めるのに本当に苦労しています。SOいつ私はどれを使うのですか?