 А хотелось бы написать ось пятого поколения. Я знаю, что это мания величия... но мечтать-то не вредно.
  А хотелось бы написать ось пятого поколения. Я знаю, что это мания величия... но мечтать-то не вредно.А вот то, чем я сейчас страдаю можно в принципе писать хоть на чем.
Модератор: Модераторы
 А хотелось бы написать ось пятого поколения. Я знаю, что это мания величия... но мечтать-то не вредно.
  А хотелось бы написать ось пятого поколения. Я знаю, что это мания величия... но мечтать-то не вредно.


x: = function (y:integer) begin 
  return function (z:integer) begin
    return y * 2 + z; 
  end;
end;
fn := x(10);
fn(20);
perlpunk писал(а):добавьте возможность создавать и возвращать функции
perlpunk писал(а):добавьте возможность создавать и возвращать функции
type
 tfxfunc = reference to function(const z : integer) : integer;
function fx(const y : integer) : tfxfunc;
begin
 exit(function(const z : integer) : Integer
      begin
       exit(y * 2 + z);
      end;
end;
var
 fn : tfxfunc;
 i  :integer;
begin
 fn := fx(10);
 i := fn(20);
 writeln(i);
 readln;
end.
perlpunk писал(а):ООП не нужно. но без него паскаль не полноценнен.
добавьте возможность создавать и возвращать функции.
- Код: Выделить всё
x: = function (y:integer) begin
return function (z:integer) begin
return y * 2 + z;
end;
end;
fn := x(10);
fn(20);
и паскаль возродится.
TCalc = class(TLispLover)
  y : integer;
  constructor Create(ay: integer);
  function invoke(z: Integer): Integer;
end;
function TCalc.invoke(z: Integer): Integer;
begin
  Result:= y * 2 + z; 
end;
function x(ay: Integer): TCalc;
begin
  Result:=TCalc.Create;
  Result.y:=ay;
end;
var
  fn : TCalc;
  fn := x(10);
  fn.invoke(20);
wavebvg писал(а):Это синтаксический сахар. Очень удобен, когда производится прототипирование, проектирование и т.п. (когда задача|цели|методы решения|подходы ещё не формализованы), но, при отправке такого кода в продакшен, икота его автору обеспечена.
Вернуться в Компилятор / язык программирования
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1