Multiple dispatch
Multiple dispatch adalah salah satu keunggulan terbesar Julia, yang memberikan fleksibilitas dan manfaat kecepatan bagi program Julia Anda. Ingat, multiple dispatch memungkinkan Anda menjalankan metode yang berbeda berdasarkan tipe argumen yang diteruskan ke sebuah fungsi.
Contoh dalam video menggunakan multiple dispatch untuk mengembalikan nilai yang berbeda tergantung pada apakah tipe argumennya adalah string atau bukan.
function add_values(x, y)
x + y
end
function add_values(x::String, y::String)
x * y
end
Latihan ini adalah bagian dari kursus
Julia Tingkat Menengah
Petunjuk latihan
- Buat fungsi
largest_valueyang:- jika masukan bertipe
String, gunakanmapuntuk memetakan fungsilengthke setiap argumen(x, y, z). - jika masukan bertipe
Bool, cukup kembalikan argumennya. - jika masukan bertipe lainnya, ambil nilai maksimum dari semua nilai menggunakan
maximum.
- jika masukan bertipe
- Hapus baris yang dikomentari di bagian bawah (kasus uji) dan pastikan logiknya masuk akal!
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Create three functions to handle any input, String input, and Bool input
function largest_value(x, y, z)
maximum((____, ____, ____))
end
function largest_value(x::____, y::____, z::____)
map(length, (____, ____, ____))
end
function largest_value(x::____, y::____, z::____)
x, y, z
end
# Un-comment this test case to test your function
#println(largest_value("12", "24", "36"))