Difference between revisions of "Default parameter/fi"
m (Fixed syntax highlighting) |
|||
Line 9: | Line 9: | ||
== Esimerkki deadline_day == | == Esimerkki deadline_day == | ||
− | < | + | <syntaxhighlight lang=pascal> |
− | |||
uses SysUtils, DateUtils | uses SysUtils, DateUtils | ||
Line 38: | Line 37: | ||
result := EncodeDate( y, m, d ); | result := EncodeDate( y, m, d ); | ||
end; | end; | ||
− | + | </syntaxhighlight> | |
− | </ | ||
Oletusarvoparametriä käytetään tarpeen vaatiessa kutsussa korvaamaan puuttuvaa parametriä | Oletusarvoparametriä käytetään tarpeen vaatiessa kutsussa korvaamaan puuttuvaa parametriä | ||
* Ohjelman kutsu <code> deadline_day( 5 ); </code> //-> kutsuu <code> deadline_day( 5, 0 ); </code> | * Ohjelman kutsu <code> deadline_day( 5 ); </code> //-> kutsuu <code> deadline_day( 5, 0 ); </code> | ||
* Ohjelman kutsu <code> deadline_day( 5, 1 ); </code> //-> kutsuu <code> deadline_day( 5, 1 ); </code> | * Ohjelman kutsu <code> deadline_day( 5, 1 ); </code> //-> kutsuu <code> deadline_day( 5, 1 ); </code> |
Latest revision as of 08:21, 12 February 2020
│
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 );
//-> kutsuudeadline_day( 5, 0 );
- Ohjelman kutsu
deadline_day( 5, 1 );
//-> kutsuudeadline_day( 5, 1 );