การประกาศชนิดข้อมูล
นอกจากการกำหนดค่าต่าง ๆ แล้ว เรายังสามารถควบคุมชนิดข้อมูลของพารามิเตอร์ในฟังก์ชันได้อีกด้วย โดยระบุชนิดข้อมูลให้กับแต่ละตัวแปร เช่นเดียวกับที่เคยทำกับ tuple ในบทก่อน หากชนิดข้อมูลของอาร์กิวเมนต์ที่ส่งเข้ามาไม่ตรงกับที่กำหนดไว้ตอนนิยามฟังก์ชัน Julia จะแสดงข้อผิดพลาดขึ้นมา
วิธีนี้ช่วยให้ฟังก์ชันปลอดภัยมากขึ้น และป้องกันข้อผิดพลาดที่ไม่คาดคิดได้ ในฟังก์ชัน my_profit เวอร์ชันปัจจุบัน เราสามารถส่งค่า string เข้าไปในแต่ละอาร์กิวเมนต์ได้ แต่จะเกิดข้อผิดพลาดเมื่อ return statement พยายามลบ string ออกจาก string อีกตัว การกำหนดชนิดข้อมูลของพารามิเตอร์ช่วยป้องกันปัญหานี้ได้
ในตัวอย่างด้านล่าง ให้กำหนดชนิดข้อมูลสำหรับแต่ละพารามิเตอร์ในฟังก์ชัน
หากส่งชนิดข้อมูลที่ไม่ตรงกับที่กำหนดไว้ จะเกิดข้อผิดพลาดดังนี้:
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)