MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Buat fungsi largest_value yang:
    • jika masukan bertipe String, gunakan map untuk memetakan fungsi length ke setiap argumen (x, y, z).
    • jika masukan bertipe Bool, cukup kembalikan argumennya.
    • jika masukan bertipe lainnya, ambil nilai maksimum dari semua nilai menggunakan maximum.
  • 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"))
Edit dan Jalankan Kode