static void DemoCurry() { Console.WriteLine("teste plus=Curry(Add)..."); var plus = HigherOrder.Curry <int, int, int>(Add); Console.WriteLine("plus(4)(5) = {0}", plus(4)(5)); WarteAufReturnUndLöscheBildschirm(); }
private static void DemoPartialApp() { Console.WriteLine("teste partial Application von plus=Curry(Add)..."); var plus = HigherOrder.Curry <int, int, int>(Add); var plus10 = plus(10); Console.WriteLine("plus10(2) = {0}", plus10(2)); WarteAufReturnUndLöscheBildschirm(); }
static void DemoKomposition() { Console.WriteLine("f(x) = x*x"); Console.WriteLine("g(x) = x/2.0"); Func <int, double> g = x => x / 2.0; var gf = g.Komposition <int, int, double>(F); Console.WriteLine("g nach f von 5 = {0}", gf(5)); var ff = HigherOrder.Komposition <int, int, int>(F, F); // F.Komposition(F) geht leider nicht Console.WriteLine("f nach f von 2 = {0}", ff(2)); WarteAufReturnUndLöscheBildschirm(); }