Показать сообщение отдельно
  #6  
Старый 25.08.2017, 08:46
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Эх, эмбаркадера им лямбды с дженериками дала — используй лямбды с дженериками, используй — не хочу.
Код:
function demo(f1, f2: TFunc<integer, Integer>): integer;
begin
  result := f1(f2(1)); // compose functions
end;

...

foo := demo(
  function (a: integer): integer
  begin
    result := a+1;
  end,
  function (a: integer): integer
  begin
    result := a-1;
  end)

...
использование лямбд из переменных

f1 =   function (a: integer): integer
  begin
    result := a+1;
  end;

f2 =   function (a: integer): integer
  begin
    result := a-1;
  end;

bar = demo(f1, f2)
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием