Keyword arguments
Keyword arguments คืออาร์กิวเมนต์อีกประเภทหนึ่งที่ส่งให้ฟังก์ชันได้ แนวคิดนี้คล้ายกับ NamedTuple ที่เราเคยใช้ในบทก่อน กล่าวคือ เราสามารถกำหนดชื่อให้กับค่าแต่ละค่า ซึ่งช่วยให้เข้าใจได้ชัดเจนยิ่งขึ้นว่าค่านั้นหมายถึงอะไร
ในการประกาศ keyword argument ให้ใช้เครื่องหมายเซมิโคลอน ; ในการประกาศฟังก์ชันเพื่อระบุว่าเป็น keyword argument
function my_func(; my_arg)
return my_arg
end
เมื่อเรียกใช้ฟังก์ชัน ไม่จำเป็นต้องใส่เครื่องหมายเซมิโคลอนก็ได้
my_func(; my_arg=1)
โปรดจำไว้ว่าแม้จะใช้ทั้ง positional argument และ keyword argument ในฟังก์ชันเดียวกันได้ แต่ keyword argument ต้องอยู่หลัง positional argument เสมอในการประกาศฟังก์ชัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Julia ระดับกลาง
คำแนะนำการฝึกหัด
- เขียนฟังก์ชัน
my_profitใหม่ให้ใช้ keyword arguments - เรียกใช้
my_profitโดยสลับลำดับอาร์กิวเมนต์ โดยส่งcurrent_price=100.0เป็นตัวแรก แล้วตามด้วยprevious_price=105.0
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define my_profit with keyword arguments and a default argument
function my_profit(____previous_price::Float64, current_price::Float64, fees::Int64=2)
return current_price - previous_price - fees
end
# Call my_profit
my_profit(____, ____)