Default parameter/pl

From Lazarus wiki
Revision as of 19:05, 30 August 2020 by Slawek (talk | contribs) (→‎Przykład SumaLiczb)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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

Parametr domyślny nazywany również argumentem opcjonalnym (lub argumentem domyślnym) to parametr funkcji lub procedury, który ma podaną wartość domyślną. Jeśli programista nie poda wartości tego parametru, zostanie użyta wartość domyślna. Jeśli programista poda wartość parametru domyślnego, używana jest wartość podana przez programistę.

Programista może rozszerzyć istniejącą funkcję lub procedurę, dodając parametry, które mają wartość domyślną, zamiast pisać identyczną metodę z różnymi parametrami.

Uwaga: gdy na liście parametrów zostanie zdefiniowany opcjonalny parametr, wszystkie następujące parametry również muszą być opcjonalne. Obowiązkowy parametr nie może mieć pozycji późniejszej niż parametr opcjonalny.

Przykład SumaLiczb

function SumaLiczb ( a, b : integer; c : integer = 0; d : integer = 7 ) : integer;
begin
  Result := a + b + c + d;
end;

Prawidłowe sposoby korzystania z funkcji SumaLiczb i jej wyniki:

SumaLiczb ( 0, 1)        // 0 + 1 + 0 +  7 =  8
SumaLiczb ( 0, 1, 3)     // 0 + 1 + 3 +  7 = 11
SumaLiczb ( 0, 1, 3, 10) // 0 + 1 + 3 + 10 = 14

Nieprawidłowy sposób użycia funkcji SumaLiczb, który spowoduje błąd:

SumaLiczb ( 0, 1, , 9) // jeśli pierwszy parametr z wartością domyślną pominiemy, to pozostałe również należy pominąć (od lewej do prawej)

Błędny sposób deklarowania funkcji z parametrami domyślnymi:

Function SumaLiczb ( a, b : integer; c: integer = 0; d : integer = 7; e : integer) : integer;
// po prawej stronie parametru z wartością domyślną należy deklarować wyłącznie inne parametry z wartością domyślną