BaşlayınÜcretsiz başlayın

Çoklu gönderim (multiple dispatch)

Multiple dispatch, Julia'nın önemli avantajlarından biridir ve Julia programlarına esneklik ve hız kazandırır. Unutma, multiple dispatch bir fonksiyona geçirilen argümanın türüne göre farklı bir yöntemin çalışmasına olanak tanır.

Videodaki örnek, argüman türünün string olup olmamasına göre farklı bir değer döndürmek için multiple dispatch kullanıyordu.

function add_values(x, y)
    x + y
end

function add_values(x::String, y::String)
    x * y
end

Bu egzersiz, kursun bir parçasıdır

Orta Düzey Julia

Kursa Göz Atın

Egzersiz talimatları

  • largest_value adlı bir fonksiyon oluştur. Bu fonksiyon:
    • girdi String ise, length fonksiyonunu her argümana (x, y, z) uygulamak için map kullansın.
    • girdi Bool ise, argümanları aynen döndürsün.
    • girdi başka türden ise, tüm değerlerin maksimumunu maximum ile alsın.
  • Alttaki (test örnekleri olan) yorum satırlarını kaldır ve mantığın doğru çalıştığından emin ol!

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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"))
Kodu Düzenle ve Çalıştır