F # öğrenmek çalışıyorum ama fold ve reduce ayırt çalışırken karıştı. Fold, same thing yapılıyor gibi görünüyor, ancak fazladan bir parametre alıyor. Bu iki fonksiyonun var olmasının meşru bir sebebi var mı yoksa farklı geçmişlere sahip insanlar mı var? (Örnek: C# dizisi ve dizi) BuradaKatlama ve farkı azaltma?
kod parçacığını örneği kopyalanır:
let sumAList list =
List.reduce (fun acc elem -> acc + elem) list
let sumAFoldingList list =
List.fold (fun acc elem -> acc + elem) 0 list
printfn "Are these two the same? %A "
(sumAList [2; 4; 10] = sumAFoldingList [2; 4; 10])
küçültmek ve örneğin birbirine şartlarını katlanması yazabilir 'f f '' l '' olarak yazılabilir. – Neil
@Neil - "küçült" ifadesiyle "katlama" işlemi daha karmaşıktır - katlamanın akümülatörünün türü, listedeki nesnelerin türü ile aynı olmak zorunda değildir! –
@TomasPetricek Benim hatam, aslında başka bir şekilde yazmayı planladım. – Neil