FPC Minifunctions feature request

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

FPC Minifunctions feature request

Beitrag von Komoluna »

Liebes Forum,

ich habe eine idee, für ein feature, das man eventuell den FPC Entwicklern vorschlagen könnte.
Bevor ich dies tue, wollte ich mal wissen was ihr davon haltet.

Meine Idee war, dass man Zuweisungen in einem Schema speichert:

Code: Alles auswählen

 
var
  f: Func;  //oder wie auch immer
  a,b: Integer;
  x1, x2: Integer;
begin
  f := @(a*b);
  a := 2;
  b := 3;
  x1 := f;
  b := 4;
  x2 := f;
  //x1 = 6
  //x2 = 8
end;
Bei dem Beispiel ist das natürlich overkill, aber wenn man lange Zuweisungen oft benutzt, wäre das doch praktisch oder?
Was meint ihr dazu?

@Martin/mse: wenn das nix für FPC ist, könntest du das doch einbauen oder? Du baust doch alles ein, auch wenn die meisten Leute das nicht brauchen(nicht offensiv gemeint).

MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

Benutzeravatar
theo
Beiträge: 10904
Registriert: Mo 11. Sep 2006, 19:01

Re: FPC Minifunctions feature request

Beitrag von theo »

Naja, wenn ich das richtig verstehe, ist das ein winziger "Syntactic Sugar".
Das geht ja schon auf "leserliche" Art.

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);  
var
  a, b: integer;
  x1, x2: integer;
 
  function f: integer;
  begin
    Result := a * b;
  end;
 
begin
  a := 2;
  b := 3;
  x1 := f;
  b := 4;
  x2 := f;
end;   

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: FPC Minifunctions feature request

Beitrag von Socke »

Das ganze nennt sich anonyme Funktion und gibt es in Delphi (siehe Wikipedia). Über den Nutzen un die Syntax lässt sich streiten.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

marcov
Beiträge: 1102
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: FPC Minifunctions feature request

Beitrag von marcov »

Socke hat geschrieben:Das ganze nennt sich anonyme Funktion und gibt es in Delphi (siehe Wikipedia). Über den Nutzen un die Syntax lässt sich streiten.
Nein. Anonymous Methods sind Semantisch anders. Die Werte auf Moment von deklarieren werden eingefangen, weil das Vorbild hier zuerst den Funktion definiert, und nur dann Werte an A und B gibt.

Antworten