LINUX.ORG.RU

История изменений

Исправление grim, (текущая версия) :

В коде:

Func<int,int,int> add = (x,y) => x+y;
Func<int, int, int> div = (x, y) => x / y;
Func<Func<int, int, int>, Func<int, int, int>> curOp = x => (y, z) => x(y, z);
var curAdd = curOp(add);
var curDiv = curOp(div);

System.Console.WriteLine("curAdd(10,2) {0}", curAdd(10, 2));
System.Console.WriteLine("curDiv(10,2) {0}", curDiv(10, 2));

Исходная версия grim, :

В коде:

Func<int,int,int> add = (x,y) => x+y;
Func<int, int, int> div = (x, y) => x / y;
Func<Func<int, int, int>, Func<int, int, int>> curOp = x => (y, z) => x(y, z);
var curAdd = curOp(add);
var curDiv = curOp(div);