НачатьНачать бесплатно

Объявление типов

Ещё один способ контролировать параметры функции — указывать их тип данных. Можно задать конкретный тип для каждой переменной — точно так же, как мы делали это в предыдущей главе с кортежами. Если тип данных аргумента, переданного в функцию, не совпадает с объявленным при её определении, будет вызвана ошибка.

Это дополнительный способ защитить функции от нежелательных исключений. В текущей версии функции 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)
Редактировать и запускать код