![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Можно ли создать функцию, которая будет возвращать функцию?
Например: Код:
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; Такой механизм нетрудно реализовать с помощью объектов как таковых: описать класс с полем a и функцией res и создать экземпляр объект этого класса, инициировав нужным значением переменную a и потом передавая метод res куда нужно. Важно на выходе иметь именно TFunc - функцию с одним аргументом, потому что она потом будет передаваться в др. функцию как переменная именно типа TFunc. Это к тому что function res(a,x:real):real, которая вроде как решает проблему, здесь не подходит. На этом простом примере попытался объяснить, что мне нужно ) ,а именно функция (или процедура) от параметра, возвращающая функцию в которой этот параметр зашит. Но может в Delphi есть возможность сделать это без объектов? Последний раз редактировалось shhmn, 27.01.2012 в 05:06. |