Ich evaluiere einen iterativen Algorithmus in F #, wobei der aktuelle Zeitschritt die Lösung (Zustand) des vorherigen Zeitschritts benötigt. Im Fall der ersten Iteration sollte die Anfangsbedingung, dh auf 0F # verwende vorherige ausgewertete Lösung (Zustand) während der Zuordnung
einstellbar sein Dies wäre analog zu:
let answer = List.map (fun x -> x + previousAnswer) 0 someData
Was will ich eine Falte ähnlich ist, aber wo die vorherige Lösung (state) ist nicht akkumuliert, sondern einfach zugänglich. Was ist die korrekte Funktionsweise einer solchen Operation?
Dank!
[ ' Seq.unfold "] (https://msdn.microsoft.com/en-us/library/ee340363.aspx)? –
[Seq.reduce] (https://msdn.microsoft.com/en-us/library/ee353740.aspx)? –
Warum ist 'List.map' falsch initialisiert? die Signatur von 'List.map' ist' ('T ->' U) -> 'T-Liste ->' U-Liste ', die eine Funktion erwartet, '(fun x -> x + previousAnswer)' und eine Startliste ' 'T-Liste', nicht 'someData 0'? –