<分区>
我知道有很多关于线性代数的外部包,但我的问题是什么时候使用 f# 什么时候使用 c#?我举了一个简单的例子,当我这样做的时候,我意识到它可能太简单了。但是可以说我想对两个数组进行逐元素划分:
命令式 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;
}
LINQ C#:
static double[] elementdivideL(double[] arr1, double[] arr2)
{
return arr1.Zip(arr2, (a, b) => b/a).ToArray();
}
#:
let elementdividefunc a b = Array.map2 (fun i j -> (j / i)) a b
如前所述,也许这太简单了,但当我面临编程挑战时,我真的很难决定使用哪种语言。那么我什么时候使用哪个?