Argument domyślny – domyślna wartość argumentu – to wartość typu zgodnego z typem pewnego parametru, zdefiniowana przez programistę w deklaracji podprogramu, która zostanie użyta jako argument (parametr aktualny), przypisany do danego parametru (parametru formalnego), w przypadku, gdy w wywołaniu danego podprogramu, nie zostanie wyspecyfikowany argument dla pewnego parametru.

Stosowanie argumentów domyślnych Definiując podprogram, zwykle (z wyjątkiem podprogramów bezparametrowych), specyfikuje się listę parametrów, służących do komunikacji danego podprogramu z otoczeniem. W wywołaniu takiego podprogramu z parametrami, kojarzone są odpowiednie argumenty, specyfikowane w instrukcji wywołania, bądź w wywołaniu podprogramu funkcyjnego w wyrażeniuMichael Marcotty, Henry Ledgord, W kręgu języków programowania, tłumaczenie: Krystyna Jerzykiewicz, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Biblioteka Inżynierii Oprogramowania, . Większość języków programowania ma tak zdefiniowaną składnię, że wymagane jest wyspecyfikowanie w wywołaniu podprogramu tylu argumentów ile zadeklarowano parametrów podprogramu. Brak specyfikacji któregokolwiek z argumentów, który odpowiadałby pewnemu parametrowi, jest w takim przypadku sygnalizowane jako błąd. Przykładowy język programowania to PascalMichał Iglewski, Jan Madey, Stanisław Matwin, Pascal. Język wzorcowy – Pascal 360., Wydawnictwa Naukowo-Techniczne, Warszawa 1984, wydanie trzecie – zmienione, Seria: Biblioteka Inżynierii Oprogramowania, . Pewne języki lub implementacje języków dopuszczają jednak definiowanie wartości domyślnych argumentów dla wybranych parametrów, umożliwiających wywołanie podprogramu, z niepełną listą argumentów, tzn. taką listą argumentów, w której pominięto specyfikację tych argumentów, które odpowiadają parametrom ze zdefiniowanymi wartościami domyślnymi argumentów. W tej sytuacji parametr, dla którego nie wyspecyfikowano odpowiadającego mu argumentu, zostanie skojarzony z wartością domyślną, zdefiniowaną w deklaracji parametru.

Zastosowanie argumentów domyślnych: skraca i upraszcza kod źródłowy dla najczęściej stosowanej wartości danego argumentu, ale może prowadzić do błędów.

Specyfikowanie argumentów domyślnych Sposób specyfikacji wartości domyślnej argumentu dla pewnego parametru, zależny jest od specyfiki składni danego języka programowania. Specyfikacja ta występuje w deklaracji danego parametru, która to deklaracja najczęściej w językach programowania wysokiego poziomu, stanowi integralną część deklaracji samego podprogramu.

Przykład w języku Ada: Function talc(x: in INTEGER; y: in INTEGER:=1);

Języki programowania Wiele języków programowania wysokiego poziomu nie dopuszcza konstrukcji polegającej na definiowaniu argumentów domyślnych. Nie ma takich możliwości np. język CJan Bielecki, Turbo C z grafiką na IBM PC, Wydawnictwa Naukowo-Techniczne, Warszawa 1990, Seria: Mikrokomputery, , IconRalph E. Griswold, Madge T. Griswold, Icon, Wydawnictwa Naukowo-Techniczne, Warszawa 1987, Seria: Biblioteka Inżynierii Oprogramowania, , Modula-2Niklaus Wirth, Modula 2, Wydawnictwa Naukowo-Techniczne, Warszawa 1987, Seria: Biblioteka Inżynierii Oprogramowania, i inne, czy wcześniej wymieniony Pascal. Dla tych języków pojawiają się jednak nowsze implementacje, których autorzy wprowadzają taką możliwość. Przykładem jest język Object Pascal w środowisku Delphi4programmers.net: Adam Boduch Delphi 7. Kompendium programisty . Wśród języków, w których składnia definiuje taką konstrukcję są m.in. AdaA. Nico Habermann, Dewayne E. Perry, Ada dla zaawansowanych, Wydawnictwa Naukowo-Techniczne, Warszawa 1989 r., seria: Biblioteka Inżynierii Oprogramowania, , Visual Basic.

Ada W języku Ada definiowanie wartości domyślnej argumentu ma analogiczną postać do inicjalizacji zmiennej czy też wartości domyślnej definiowanego typu w tym języku. Ma postać przypisania, tworzonego za pomocą dwuznakowego symbolu tego języka „:=”, po specyfikacji atrybutów danego parametru. Specyfikacje argumentów, dla paramentów ze zdefiniowaną wartością domyślną, mogą zostać pominięte w wywołaniu takiego podprogramu.

Object Pascal W języku Object Pascal, w porównaniu z Pacalem, wprowadzono m.in. możliwość definiowania argumentów domyślnych. Definicja taka umieszczona zostaje w nagłówku definiowanego podprogramu.

Przykład: procedure test(a:integer; opcja:integer=1; nazwa:string='pusta'); Jak w powyższym przykładzie widać, wartość domyślną specyfikuje się tak jak w definicji stałej po znaku "=", a nie jak po znakach w przypisaniu ":=". Należy podkreślić, że parametry z wartościami domyślnymi argumentów, muszą być definiowane na końcu listy parametrów danego podprogramu - tzn. nie może po nich wystąpić jakikolwiek parametr obowiązkowy (tj. bez wartości domyślnej).

PHP W języku PHP definiuje się wartości domyśle argumentów podobnie jak w większości innych języków, w których dostępna jest tak konstrukcja. function Przyklad($a, $b= 0) Python Również w języku Python można definiować argumenty domyślne, w nomenklaturze tego języka i literaturze przedmiotu nazywane argumentami opcjonalnymib:Zanurkuj w Pythonie/Argumenty opcjonalne i nazwane.

Przykład: def info(element, spacing=10, collapse=1):

Visual Basic Przykład deklaracji argumentu domyślnego: Sub MsgBL(M As String, Optional P As Variant=5) ... End Sub C++ Przykład deklaracji argumentu domyślnego: int pomnoz(int x, int y = 0) {return x*y;}

Zobacz też Argument (informatyka) Parametr Podprogram Instrukcja wywołania

Przypisy

Kategoria:Konstrukcje programistyczne