Argument opcjonalny to w języku komputerowym taki argument, który może zostać specyfikowany w wywołaniu podprogramu, lub może zostać pominięta specyfikacja wartości tego argumentu. Definiując podprogramdotyczy także programu (modułu) głównego, zwykle do komunikacji podprogramu z otoczeniem, programista równocześnie deklaruje odpowiednie parametry tego podprogramu. Najczęściej w wywołaniu takiego podprogramu, należy specyfikować listę argumentów, które zostaną skojarzone z parametrami i użyte w wykonaniu tego podprogramu. Argumenty te są wymagane i muszą być podane w kodzie źródłowym. Liczba argumentów wymaganych musi być zgodna z liczbą parametrów zawartych w definicji podprogramu, a brak takiego argumentu będzie sygnalizowany przez translator jako błąd. Istnieją jednak języki, których składnia umożliwia definiowanie argumentów opcjonalnych. Jeżeli taki argument zostanie podany na liście argumentów, to wartość tego argumentu zostanie użyta w podprogramie. W braku argumentu, programista musi przewidzieć inny sposób uzyskania pożądanej wartości.

Języki programowania dają możliwość stosowania dwóch rodzajów argumentów opcjonalnych: argumenty z domyślną wartością argumenty bez wartości domyślnejta grupa argumentów opcjonalnych obejmuje również argumenty specyfikowane dla podprogramów ze zmienną liczbą argumentów.

Przykładem deklaracji argumentu opcjonalnego jest deklaracja i definicja prostego podprogramu w języku VBA: Sub MsgBL(M As String, Optional P As Variant) If IsMissing(P) Then MsgBox(M) Else If P Then MsgBox(M) End If End Sub

Jak widać w powyższym przykładzie parametr P jest zadeklarowany z modyfikatorem Optional. Oznacza to, że danemu parametrowi odpowiada w wywołaniu pewien argument opcjonalny i każde z poniższych wywołań tej procedury jest prawidłowedla wywołania, które spowoduje wyświetlenie okienka z komunikatem, gdyby wartość argumentu była False okienko oczywiście nie wyświetli się: Call MsgBL("Komunikat") Call MsgBL("Komunikat", True)

W takim przypadku – braku wartości domyślnej argumentu – niezbędny jest mechanizm kontroli dostępności argumentu, gdyż odwołanie do nie przekazanego do podprogramu argumentu spowodowałoby wystąpienie błędu. Nie ma takiego problemu dla argumentów domyślnych – przy braku argumentu zostanie użyta wartość domyślna. W tym konkretnym przykładzie, w języku VBA, taki mechanizm zapewnia funkcja wbudowana IsMissing, która zwraca wartość True, jeżeli nie wyspecyfikowano argumentu dla parametru zadeklarowanego frazą Optional.

W wielu językach programowania argumentem opcjonalnym może być tylko taki argument, który posiada przypisaną wartość domyślną. Tak jest np. w PHP, gdzie deklaracja parametru opcjonalnego polega na wyspecyfikowaniu wartości domyślnej. function Przyklad($a, $b= 0)

Zobacz też argument Argument domyślny

Uwagi

Bibliografia John Walkenbach, Excel 2003 PL. Programowanie w VBA., HELION 2004 r., b:PHP

Kategoria:Konstrukcje programistyczne