Multiple dispatch
Multiple dispatch Julia की एक बड़ी ताकत है, जो आपके Julia प्रोग्राम्स को लचीलापन और स्पीड दोनों देती है। याद रखें, multiple dispatch किसी फंक्शन में पास किए गए आर्ग्युमेंट के टाइप के आधार पर अलग-अलग मेथड चलाने की सुविधा देता है।
वीडियो के उदाहरण में multiple dispatch ने यह दिखाया कि आर्ग्युमेंट का टाइप string है या नहीं, उसके आधार पर अलग मान रिटर्न किया जा सकता है।
function add_values(x, y)
x + y
end
function add_values(x::String, y::String)
x * y
end
यह अभ्यास पाठ्यक्रम का हिस्सा है
इंटरमीडिएट Julia
अभ्यास निर्देश
largest_valueनाम का एक फंक्शन बनाइए, जो:- अगर इनपुट
Stringहो, तोmapका उपयोग करकेlengthफंक्शन को प्रत्येक आर्ग्युमेंट(x, y, z)पर लगाए। - अगर इनपुट
Boolहो, तो आर्ग्युमेंट्स को ज्यों का त्यों रिटर्न कर दें। - अगर इनपुट किसी और टाइप का हो, तो
maximumका उपयोग करके सभी मानों में से अधिकतम निकालें।
- अगर इनपुट
- नीचे दिए गए कॉमेंट किए हुए लाइनों (टेस्ट केस) को हटा दें और सुनिश्चित करें कि लॉजिक समझ में आता है!
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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"))