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


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.