यह "स्पैट्स" 1 अनुक्रम।
कंस्ट्रक्टर के हस्ताक्षर को देखें
new Elem(prefix: String, label: String, attributes: MetaData, scope: NamespaceBinding,
child: Node*)
जिसे कहा जाता है
new Elem(prefix, label, attributes, scope,
child1, child2, ... childN)
लेकिन यहां केवल एक अनुक्रम है, नहीं child1
, child2
आदि। इसलिए यह परिणाम अनुक्रम को निर्माता के इनपुट के रूप में उपयोग करने की अनुमति देता है।
खुश कोडिंग।
1 इसमें SLS में एक cutesy-name नहीं है, लेकिन यहाँ विवरण हैं। प्राप्त करने के लिए महत्वपूर्ण बात यह है कि यह बदल जाता है कि स्केल कैसे तर्कों को दोहराए गए मापदंडों के साथ बांधता है (जैसा कि Node*
ऊपर से दर्शाया गया है)।
_*
प्रकार एनोटेशन एसएलएस के "4.6.2 दोहराया पैरामीटर" में शामिल है।
एक पैरामीटर सेक्शन का अंतिम मान पैरामीटर "*", उदाहरण के लिए (..., x: T *) द्वारा suf a xed हो सकता है। विधि के अंदर इस तरह के दोहराया पैरामीटर का प्रकार फिर अनुक्रम प्रकार scala.Seq [T] है। दोहराया मापदंडों के साथ तरीके टी * प्रकार टी के तर्कों की एक चर संख्या लेते हैं। यही है, अगर एक विधि m प्रकार के साथ (p1: T1,।, Pn: Tn, ps: S *) U को तर्कों (e1,,।, Ek) पर लागू किया जाता है, जहाँ k> = n, तो m होता है। उस एप्लिकेशन में टाइप करने के लिए लिया गया (p1: T1।,। pn: Tn, ps: S।,।, ps0S) U, k ¡n घटनाओं के प्रकार के साथ S, जहां ps से परे कोई भी पैरामीटर नाम ताजा है।इस नियम का एकमात्र अपवाद यह है कि अंतिम तर्क को _ * प्रकार के एनोटेशन के माध्यम से अनुक्रम तर्क के रूप में चिह्नित किया गया है। यदि उपरोक्त m को तर्कों (e1,।, En, e0: _ *) पर लागू किया जाता है, तो उस अनुप्रयोग में m का प्रकार (p1: T1,।,।, Pn: Tn, ps, scala) लिया जाता है। .Seq [एस])