Multiple Dispatch
Multiple Dispatch ist einer von Julias großen Vorteilen und bringt deinen Programmen Flexibilität und Geschwindigkeit. Denk daran: Multiple Dispatch erlaubt es, je nach Typ des an eine Funktion übergebenen Arguments eine andere Methode auszuführen.
Im Video-Beispiel wurde Multiple Dispatch genutzt, um je nach Argumenttyp einen anderen Wert zurückzugeben — abhängig davon, ob der Typ eine Zeichenkette ist oder nicht.
function add_values(x, y)
x + y
end
function add_values(x::String, y::String)
x * y
end
Diese Übung ist Teil des Kurses
Julia: Aufbaukurs
Anleitung zur Übung
- Erstelle eine Funktion
largest_value, die Folgendes tut:- wenn die Eingabe
Stringist, verwendemap, um die Funktionlengthauf jedes Argument(x, y, z)abzubilden. - wenn die Eingabe
Boolist, gib einfach die Argumente zurück. - wenn die Eingabe ein anderer Typ ist, ermittle das Maximum aller Werte mit
maximum.
- wenn die Eingabe
- Entferne die auskommentierten Zeilen am Ende (die Testfälle) und stelle sicher, dass die Logik stimmig ist!
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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"))