मैं वर्तमान में स्कैला में अपना पहला कदम बना रहा हूं इसलिए मैं आम समस्याओं के करीब आने में सर्वोत्तम प्रथाओं की तलाश में हूं। निम्नलिखित कोड है जो काम नहीं करता है लेकिन यह वर्णन करता है कि मैं क्या करना चाहता हूं। क्या आप इस समस्या के सर्वोत्तम दृष्टिकोण की सिफारिश कर सकते हैं?स्कैला स्ट्रिंग पैटर्न सर्वोत्तम अभ्यास से मिलान
case url if url.startsWith("jdbc:mysql:") => "com.mysql.jdbc.Driver"
यह केवल पैटर्न अभिव्यक्ति (जो भी url
है) के लिए मूल्य url
बांधता है और एक गार्ड को जोड़ता है:
def resolveDriver(url: String) = {
url match {
case url.startsWith("jdbc:mysql:") => "com.mysql.jdbc.Driver"
case url.startsWith("jdbc:postgresql:") => "org.postgresql.Driver"
case url.startsWith("jdbc:h2:") => "org.h2.Driver"
case url.startsWith("jdbc:hsqldb:") => "org.hsqldb.jdbcDriver"
case _ => throw new IllegalArgumentException
}
}
भी देखें [इस सवाल] (http://stackoverflow.com/q/7586605/53013) इस समस्या को हल करने के लिए के लिए एक और तरीका है, यदि मिलान किया गया हिस्सा संपूर्ण प्रोटोकॉल होता है। –