Zacznij terazZacznij za darmo

Deklaracje typów

Kolejnym sposobem kontrolowania parametrów funkcji jest określanie ich typów danych. Dla każdej zmiennej można wskazać konkretny typ – tak samo jak robiliśmy to w poprzednim rozdziale przy pracy z krotkami. Jeśli typ argumentu przekazanego do funkcji nie zgadza się z typem zadeklarowanym w jej definicji, zostaje zgłoszony błąd.

To dodatkowy mechanizm zabezpieczający funkcje przed nieoczekiwanymi wyjątkami. W obecnej wersji funkcji my_profit można by przekazać ciąg znaków do każdego argumentu, co skończyłoby się błędem przy próbie odjęcia jednego ciągu od drugiego w instrukcji return. Można temu zapobiec, deklarując typy poszczególnych parametrów.

W poniższym przykładzie ustaw typ danych dla każdego parametru funkcji.

Pamiętaj, że próba przekazania argumentu o niezgodnym typie spowoduje błąd:

MethodError: no method matching my_profit(::Int64, ::Int64)

To ćwiczenie jest częścią kursu

Julia średnio zaawansowana

Zobacz kurs

Instrukcje do ćwiczenia

  • Ustaw typ danych dla każdego parametru: current_price i previous_price powinny być wartościami Float64, a fees wyłącznie wartością Int64.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Define my_profit with three type-restricted arguments
function my_profit(previous_price____, current_price____, fees____=2)
	return current_price - previous_price - fees
end

# Call my_profit, passing in values of the correct data type
my_profit(100.00, 105.00)
Edytuj i uruchom kod