Tür bildirimleri
Fonksiyon parametreleri üzerinde kurabileceğimiz bir başka kontrol de bu parametrelerin türleridir. Tıpkı önceki bölümde demetlerde (tuple) yaptığımız gibi, her değişken için bir veri türü belirleyebiliriz. Eğer fonksiyona geçirilen argümanın veri türü, fonksiyon tanımlanırken belirtilen veri türüyle eşleşmezse bir hata fırlatılır.
Bu, fonksiyonlarımızı kontrol etmek ve istenmeyen istisnalardan korumak için başka bir yoldur. Şu anki my_profit fonksiyonumuzda her argümana bir metin (string) verebiliriz, fakat dönüş ifadesi bir metinden başka bir metni çıkarmaya çalıştığında hata alırız. Her parametrenin veri türünü tanımlayarak bunu güvence altına alabiliriz.
Aşağıdaki örnekte, fonksiyondaki her bir parametre için veri türünü ayarla.
Tanımladığımızla uyuşmayan bir veri türü geçirmeyi denersek aşağıdaki hatayı alacağımızı unutma:
MethodError: no method matching my_profit(::Int64, ::Int64)
Bu egzersiz, kursun bir parçasıdır
Orta Düzey Julia
Egzersiz talimatları
- Her parametre için veri türünü ayarla:
current_priceveprevious_priceFloat64olmalı,feesise sadeceInt64olmalı.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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)