型宣言
関数のパラメータには、もう一つ制御できる点として「型」を指定できます。前の章でタプルに対して行ったのと同様に、各変数にデータ型を指定できます。関数に渡される引数のデータ型が、関数定義時に指定したデータ型と一致しない場合は、エラーが発生します。
これは、関数をより厳密に制御し、予期しない例外から守る方法の一つです。現在の my_profit 関数では、各引数に文字列を渡すことができてしまいますが、返り値の計算で文字列同士の減算を行おうとしてエラーになります。各パラメータのデータ型を定義しておくことで、これを未然に防げます。
以下の例で、関数内の各パラメータにデータ型を設定してください。
定義と一致しないデータ型を渡そうとすると、次のエラーになります。
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)