Argument domyślny

Obecnie Argument domyślny to temat, który stał się istotny w dzisiejszym społeczeństwie. Z biegiem czasu Argument domyślny stał się tematem rozmów i debat w różnych obszarach, czy to w polityce, nauce, rozrywce czy życiu codziennym. Opinie w tej sprawie są zróżnicowane i stanowiska dotyczące Argument domyślny są równie zróżnicowane. W tym artykule zbadamy różne aspekty związane z Argument domyślny i przeanalizujemy jego wpływ na dzisiejsze społeczeństwo. Od swoich początków po dzisiejszy wpływ, Argument domyślny jest tematem, który nigdy nie przestaje budzić zainteresowania i zachęca nas do refleksji nad jego znaczeniem w naszym codziennym życiu.

Argument domyślnydomyś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żeniu. 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 Pascal. 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 C, Icon, Modula-2 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 Delphi. Wśród języków, w których składnia definiuje taką konstrukcję są m.in. Ada, 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 opcjonalnymi.

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ż

Przypisy