Dane wejściowe to informacje dodawane do programu i używane przez kod do wprowadzania zmian.
Przykłady funkcji podane w poprzedniej lekcji nie wymagały żadnych danych wejściowych:
GetNumberOfMousetrapsYouCanAfford() : int
Wiemy to, ponieważ nawiasy () w powyższej sygnaturze funkcji są puste.
Parametry
Dane wejściowe funkcji możesz zdefiniować poprzez dodanie parametru do sygnatury funkcji.
Parametr jest stałą zadeklarowaną w sygnaturze funkcji w nawiasie. Gdy parametr jest ustawiony, można go użyć w ciele funkcji.
Składnia funkcji zawierającej parametr wygląda następująco:
nazwa(parametr : typ) : typ =
codeblock
W poniższym przykładzie parametrem funkcji BuyMousetrap() jest teraz CoinsPerMousetrap:
var Coins : int = 500
BuyMousetrap(CoinsPerMousetrap : int) : void =
set Coins = Coins - CoinsPerMousetrap
Print("Pułapka na myszy została kupiona! Pozostało ci monet: {Coins}.")
Oto co oznacza ten kod:
- Masz zmienną o nazwie
Coinsz początkową wartością całkowitą 500:var Coins : int = 500. - Funkcja o nazwie
BuyMousetrap()przyjmuje parametrCoinsPerMousetrap. Nie chcesz jednak, aby ta funkcja zwracała wartość, więc jej typ tovoid.
Argumenty
W przypadku wywołania funkcji, która oczekuje parametrów, należy przypisać wartości do parametrów, w ten sam sposób, w jaki przypisujesz wartości do stałych.
Te przypisane do funkcji wartości nazywane są jej argumentami.
Aby wywołać funkcję BuyMousetrap(), dodajesz argument wewnątrz nawiasów. Można to zrobić na kilka sposobów.
Na przykład:
-
Możesz użyć zapisu
BuyMousetrap(CoinsPerMousetrap := 10), który naśladuje sposób definiowania parametrów funkcji. Wartość 10 jest argumentem funkcji i zmienia wartość wyniku. -
Pamiętasz literały z lekcji 2 i 3? Można również użyć wartości literału tego samego typu, co parametr.
-
Trzecim sposobem jest użycie wcześniej zadeklarowanej zmiennej lub stałej jako argumentu. Funkcję możesz wywołać przy użyciu różnych wartości argumentów i uzyskać różne wyniki.
var Coins : int = 500
# Po tym wywołaniu wartość zmiennej Coins wynosi 490
BuyMousetrap(CoinsPerMousetrap := 10)
# Po tym wywołaniu wartość zmiennej Coins wynosi 485
BuyMousetrap(5)
CoinsPerMouseTrap : int = 20
# Po tym wywołaniu wartość zmiennej Coins wynosi 465
BuyMousetrap(CoinsPerMousetrap)
Wiele parametrów
Dla funkcji możesz zdefiniować dowolną liczbę parametrów, o ile oddzielisz je przecinkami.
Składnia funkcji z dwoma parametrami wygląda następująco:
nazwa(parametr : typ, parametr : typ) : typ =
codeblock
W przypadku wywołania funkcji musisz ponownie oddzielić argumenty przecinkami, co odzwierciedla sposób definiowania parametrów funkcji.
Podsumowanie
- Parametr jest stałą zadeklarowaną w sygnaturze funkcji. Znajduje się w nawiasach.
- Argument jest wartością przypisaną do stałej użytej w parametrze danej funkcji.
- Wiele parametrów jednej funkcji musisz oddzielić przecinkami.