Можно ли создать функцию, которая будет возвращать функцию?
Например:
Код:
type
TFunc = function(x:real):real;
function mult(a:real):TFunc;
begin
function res(x:real):real;
begin
res:=a*x;
end;
result:=res;
end;
В общих чертах хотелось бы такое. Чтобы функция mult создавала в памяти объект функцию с нужным кодом и возвращала на неё указатель.
Такой механизм нетрудно реализовать с помощью объектов как таковых: описать класс с полем a и функцией res и создать экземпляр объект этого класса, инициировав нужным значением переменную a и потом передавая метод res куда нужно.
Важно на выходе иметь именно TFunc - функцию с одним аргументом, потому что она потом будет передаваться в др. функцию как переменная именно типа TFunc. Это к тому что function res(a,x:real):real, которая вроде как решает проблему, здесь не подходит.
На этом простом примере попытался объяснить, что мне нужно ) ,а именно функция (или процедура) от параметра, возвращающая функцию в которой этот параметр зашит.
Но может в Delphi есть возможность сделать это без объектов?