我想总结一个('a* 'b)
阵列如何制作一个模仿Array.sum的通用Array.sumPair?
let inline sumPair (array: ('a * 'b)[]) =
let array1, array2 = array |> Array.unzip
(Array.sum array1, array2 |> Array.sum)
显然,这是不理想的。我想也许有一种方法是定义我的tuple
的+
和zero
,并使用内置的Array.sum
,但找不到任何相关的教程。任何帮助?
这是为什么不理想?为什么为'tuple'定义'+'和'zero'更好? – Daniel
@丹尼尔假设我正在写个人图书馆,并希望它尽可能高效。我不知道'+'是否更好。 – colinfang
为什么不使用像'Array.fold(fun(a0,b0)(a,b) - > a0 + a,b0 + b)(GenericZero,GenericZero)'这样简单易读的东西? – bytebuster