Foldr funkce v C#
Friday, February 22nd, 2008Znáte Foldr? Foldr je funkce, kterou najdeme ve většině funkcionálních jazycích jako je například Haskell (Foldr) či F# (List.Fold_r). Jedná se o velice užitečnou funkci pokud potřebujete zpracovat jednotlivé prvky pole a vrátit jako jeden výsledek (ne pole). Takovým příkladem by mohlo být například sečtení všech čísel v poli.
Foldr není součástí .NET frameworku! Implementaci této funkce najdete na konci tohoto článku.
Funkce Foldr má 3 parametry, první je zpracovávané pole (list), pak defaultní hodnota (def), která je použita jako poslední prvek pole a funkce (fun), která je volána na každé dva sousední prvky pole.
forma: Foldr ( list, def, fun )
Jak to tedy funguje? Řekněme, že potřebujete sečíst všechna čísla v poli…
Teorie
forma: Foldr ( list, def, fun )
kód: Foldr ( { 1, 2, 3, 4 }, 0, + )
sečtení: 1 + (2 + (3 + (4 + 0))) = 10


Naučte se WPF - český tutoriál