Объявление типов
Ещё один способ контролировать параметры функции — указывать их тип данных. Можно задать конкретный тип для каждой переменной — точно так же, как мы делали это в предыдущей главе с кортежами. Если тип данных аргумента, переданного в функцию, не совпадает с объявленным при её определении, будет вызвана ошибка.
Это дополнительный способ защитить функции от нежелательных исключений. В текущей версии функции my_profit в каждый аргумент можно передать строку, однако при выполнении оператора return возникнет ошибка: строку нельзя вычесть из строки. Чтобы избежать этого, достаточно явно указать тип данных для каждого параметра.
В приведённом ниже примере задайте тип данных для каждого параметра функции.
Обратите внимание: если передать аргумент с типом, отличным от объявленного, вы получите следующую ошибку:
MethodError: no method matching my_profit(::Int64, ::Int64)
Это упражнение является частью курса
Средний уровень Julia
Инструкции к упражнению
- Задайте тип данных для каждого параметра:
current_priceиprevious_priceдолжны быть значениями типаFloat64, аfees— только значением типаInt64.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)