Default parameter/pl: what changed
Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | - | ||
| 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 | 2 | ||
| 3 | - | ||
| 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 | 4 | ||
| 5 | - | ||
| 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 | 6 | ||
| 7 | 7 | ## Przykład `SumaLiczb` | |
| 8 | - | ||
| 8 | + | ||
| 9 | + | ``` pascal | |
| 9 | 10 | function SumaLiczb ( a, b : integer; c : integer = 0; d : integer = 7 ) : integer; | |
| 10 | - | ||
| 11 | - | ||
| 12 | - | ||
| 11 | + | begin | |
| 12 | + | Result := a + b + c + d; | |
| 13 | + | end; | |
| 13 | 14 | ``` | |
| 14 | 15 | ||
| 15 | - | ||
| 16 | - | ||
| 16 | + | Prawidłowe sposoby korzystania z funkcji SumaLiczb i jej wyniki: | |
| 17 | + | ||
| 18 | + | ``` pascal | |
| 17 | 19 | SumaLiczb ( 0, 1) // 0 + 1 + 0 + 7 = 8 | |
| 18 | - | ||
| 19 | - | ||
| 20 | + | SumaLiczb ( 0, 1, 3) // 0 + 1 + 3 + 7 = 11 | |
| 21 | + | SumaLiczb ( 0, 1, 3, 10) // 0 + 1 + 3 + 10 = 14 | |
| 20 | 22 | ``` | |
| 21 | 23 | ||
| 22 | - | ||
| 23 | - | ||
| 24 | + | Nieprawidłowy sposób użycia funkcji SumaLiczb, który spowoduje błąd: | |
| 25 | + | ||
| 26 | + | ``` pascal | |
| 24 | 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) | |
| 25 | 28 | ``` | |
| 26 | 29 | ||
| 27 | - | ||
| 28 | - | ||
| 30 | + | Błędny sposób deklarowania funkcji z parametrami domyślnymi: | |
| 31 | + | ||
| 32 | + | ``` pascal | |
| 29 | 33 | Function SumaLiczb ( a, b : integer; c: integer = 0; d : integer = 7; e : integer) : integer; | |
| 30 | - | ||
| 34 | + | // po prawej stronie parametru z wartością domyślną należy deklarować wyłącznie inne parametry z wartością domyślną | |
| 31 | 35 | ``` | |
| 32 | 36 | ||
| 33 | 37 | --- | |
| 34 | - | ||
| 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).* |
