स्केल: तार के एक चलने योग्य में शामिल हों


262

मैं स्काला में एक और स्ट्रिंग द्वारा तार के "चलने" को कैसे शामिल कर सकता हूं?

val thestrings = Array("a","b","c")
val joined = ???
println(joined)

मैं चाहता हूं कि यह कोड आउटपुट a,b,c("," द्वारा तत्वों को मिलाएं)।


1
@scala_newbie मुझे लगता है कि आपके सवाल को खारिज कर दिया गया था, 'क्योंकि कुछ लोगों को लगता है कि इसमें शोध के प्रयासों की कमी है।
— ओम-नॉम-नॉम

24
इस प्रश्न को ध्यान में रखते हुए मेरा शोध प्रयास है
— वालरस द कैट

जवाबों:


424

कैसे mkString के बारे में ?

theStrings.mkString(",")

एक प्रकार मौजूद है जिसमें आप एक उपसर्ग और प्रत्यय भी निर्दिष्ट कर सकते हैं।

फोल्डेफ्ट का उपयोग करके कार्यान्वयन के लिए यहां देखें , जो कि बहुत अधिक क्रिया है, लेकिन शायद शिक्षा की खातिर देखने लायक है।


ध्यान दें कि फोल्डेफ्ट कार्यान्वयन एक गैर-खाली सूची को मानता है
— Frawr

5
धन्यवाद! यदि कोई व्यक्ति स्ट्रिंग तत्वों को उद्धरण में संलग्न करना चाहता है, तो mkString भी सहायक है: TheStrings.mkString ("'", "', '", "")
— Niko Gamulin

1
@Frr यह पृष्ठ उदाहरणों के एक समूह से लिंक करता है oldfashionedsoftware.com/2009/07/30/… जिसमें एक कार्यान्वयन शामिल है जो खाली सूची (निल) मामले के लिए पैटर्न मिलान का उपयोग करता है। इसे mkicring में नकल करने के लिए संशोधित करना इस तरह होगा: def mkFoldLeftString[A](list:List[String], delim:String = ","): String = list match { case head :: tail => tail.foldLeft(head)(_ + delim + _) case Nil => "" }
— दावोस

2
Langref.org लिंक मृत है
— Floegipoky
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.