Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: AndreaM - Gennaio 09, 2016, 08:30:13 am

Titolo: *=
Inserito da: AndreaM - Gennaio 09, 2016, 08:30:13 am
Buongiorno,
Oramai è da tempo che prima in Delphi e poi con Lazarus mi diverto a smanettare, ma oggi mi sono imbattuto in una forma di assegnazione che non avevo mai visto, al posto di ":=" ho visto "*="!!!! Cado dalle nubi  :o
Che cosa è????
Grazie a tutti
Titolo: Re:*=
Inserito da: nomorelogic - Gennaio 09, 2016, 10:47:58 am
ciao

è l'implementazione in pascal degli operatori C

http://www.freepascal.org/docs-html/prog/progsu10.html

da qualche parte nelle opzioni del compilatore si possono abilitare/disabilitare
Titolo: Re:*=
Inserito da: Stilgar - Gennaio 09, 2016, 11:36:07 am
{$COPERATORS ON|OFF}

http://www.freepascal.org/docs-html/prog/progsu10.html (http://www.freepascal.org/docs-html/prog/progsu10.html)

 :D

Stilgar


EDIT:
application/fpc/packages/fcl-fpcunit/src/exampletests/money.pp

Dichiarazione operatori
Codice: [Seleziona]
  Operator + (c: IMoney; c1: IMoney) c2: IMoney;
  Operator - (c: IMoney; c1: IMoney) c2: IMoney;
  Operator * (c: IMoney; i: integer) c2: IMoney;
Implementazione operatori
Codice: [Seleziona]
Operator + (c: IMoney; c1: IMoney) c2: IMoney;
begin
  c2 := c.add(c1);
end;

Operator - (c: IMoney; c1: IMoney) c2: IMoney;
begin
  c2 := c.subtract(c1);
end;

Operator * (c: IMoney; i: integer) c2: IMoney;
begin
  c2 := c.multiply(i);
end;