Default parameter/fi

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) español (es) suomi (fi) français (fr) polski (pl) русский (ru)

Oletusarvo parametri

Oletusarvo parametrilla tarkoitetaan funktion tai aliohjelman parametriä joka on annettu oletuksena kutsussa. Jos ohjelmoija ei kutsussa korvaa sitä toisella niin käytetään oletusarvoa. Jos ohjelmoija antaa myös tämän parametrin niin käytetään ohjelmoijan antamaa arvoa. Ohjelmoija voi laajentaa funktiota tai aliohjelmaa että sinne voidaan antaa jotain arvoja oletuksena (kirjoittamatta lähes identtisiä vastaavia metodeita).

Huomio: Kun parametriluettelossa on valinnainen parametri, kaikkien seuraavien parametrien on oltava valinnaisia. Pakollisella parametrilla ei saa olla myöhäisempi paikka parametriluettelossa kuin valinnaisella parametrillä.

Esimerkki deadline_day

uses SysUtils, DateUtils


function deadline_day( day: integer; month: integer = 0 ) : tDateTime;
var
  n :TDateTime;
  y, m, d :word;
begin
  n := now;
  DecodeDate( n, y, m, d );
  if month = 0 then
     begin
       if d > day  then
         begin
           n := IncMonth( n );
           DecodeDate( n, y, m, d );
         end;
     end
   else
     begin
       if month < m then n := IncYear( n );
       DecodeDate( n, y, m, d );
       m := month;
     end;
    d := day;
   result := EncodeDate( y, m, d );
end;

Oletusarvoparametriä käytetään tarpeen vaatiessa kutsussa korvaamaan puuttuvaa parametriä

  • Ohjelman kutsu deadline_day( 5 ); //-> kutsuu deadline_day( 5, 0 );
  • Ohjelman kutsu deadline_day( 5, 1 ); //-> kutsuu deadline_day( 5, 1 );