Większość programistów używa obu pojęć zamiennie. Tymczasem Steven Roman w świetnej książce Makrodefinicje dowodzi, że określenia te różnią się od siebie. Parametr vs. Argument – na czym polega różnica? Tego dowiesz się z tego artykułu.
Przykład Praktyczny
Parametr jest czymś w rodzaju zmiennej podanej w funkcji, natomiast argument – jej wartością. Brzmi tajemniczo? Rozróżnienie jest jednak bardzo proste.
Weźmy pod uwagę prostą funkcję, która sprawdza ile arkuszy typu Worksheet zawiera wybrany skoroszyt. Poniżej znajduje się funkcja i wywołujące je makro.
1 2 3 4 5 6 7 |
Function PoliczArkusze(sNazwaPliku As String) As Integer On Error Resume Next PoliczArkusze = Workbooks(sNazwaPliku).Worksheets.Count On Error GoTo 0 End Function |
1 2 3 4 5 6 |
Sub MakroGlowne() Dim iArkusze As Integer iArkusze = PoliczArkusze("Stawki.xlsx") End Sub |
Patrząc na kod, rodzi się pytanie:
Czym jest zmienna sNazwaPliku użyta w funkcji?
Odpowiedź jest prosta – jest to parametr, który powinien przyjąć wartość łańcuchową.
Czym zatem jest argument? Argument jest wartością, którą użyjemy w miejsce parametru. Czyli argumentem będzie tekst Stawki.xlsx.
Wniosek
Autor kończy swój wywód ważnym wnioskiem, z którym nie sposób się nie zgodzić.
Brak rozróżnienia między parametrem a argumentem, przypomina brak rozróżnienia między zmienną, a jej wartością!