Sign in Join
Wiki copytemporary

Default parameter/pl: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Default parameter/pl

OldNewLine
1+Parametr domyślny nazywany również argumentem opcjonalnym (lub argumentem domyślnym) to parametr [[Function|funkcji]] lub [[Procedure|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ę.
2+
3+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.
4+
5+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.
6+
7+## Przykład `SumaLiczb`
8+
9+``` pascal
10+function SumaLiczb ( a, b : integer; c : integer = 0; d : integer = 7 ) : integer;
11+begin
12+ Result := a + b + c + d;
13+end;
14+```
15+
16+Prawidłowe sposoby korzystania z funkcji SumaLiczb i jej wyniki:
17+
18+``` pascal
19+SumaLiczb ( 0, 1) // 0 + 1 + 0 + 7 = 8
20+SumaLiczb ( 0, 1, 3) // 0 + 1 + 3 + 7 = 11
21+SumaLiczb ( 0, 1, 3, 10) // 0 + 1 + 3 + 10 = 14
22+```
23+
24+Nieprawidłowy sposób użycia funkcji SumaLiczb, który spowoduje błąd:
25+
26+``` pascal
27+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)
28+```
29+
30+Błędny sposób deklarowania funkcji z parametrami domyślnymi:
31+
32+``` pascal
33+Function SumaLiczb ( a, b : integer; c: integer = 0; d : integer = 7; e : integer) : integer;
34+// po prawej stronie parametru z wartością domyślną należy deklarować wyłącznie inne parametry z wartością domyślną
35+```
36+
37+---
38+*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](/wiki-contact).*

Back to history