Sign in Join
Wiki copytemporary

Default parameter/pl

Deutsch · English · Español · Français · Polski · Suomi · Русский

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

pascal
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:

pascal
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:

pascal
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:

pascal
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ą

From the Free Pascal wiki, page "Default parameter/pl", as it stood on 2020-08-30 after a change by Slawek, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 3, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.