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
<Kurs>Julia: Aufbaukurs</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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"))