Mam funkcję obliczania skumulowanej sumy sekwencji.Generyczne zero dla funkcji ogólnej
let cumsum<'T> = Seq.scan (+) 0 >> Seq.skip 1 >> Seq.toArray
Choć wygląda rodzajowa, całkowitą 0
sprawia, że non-generic, a więc nie mogę wywołać funkcję z sekwencją pływaków.
Czy istnieje ogólne zero, które może zastąpić moje zakodowane na stałe 0
, lub może inny sposób na uczynienie tej funkcji ogólną.
Zauważ, że 'cumsum' muszą być wykonane funkcję inline zamiast wartości w celu mieć zamierzony efekt, tj. "let inline cumsum x = x |> Seq.scan (+) LanguagePrimitives.GenericZero |> Seq.skip 1 |> Seq.toArray'. – ildjarn
Nawet nie musiałem sprawdzać reddita! :) – kasperhj
@ildjarn Dlaczego tak jest? – kasperhj