스칼라 : 반복 가능한 문자열에 합류


262

스칼라에서 다른 문자열로 반복 가능한 문자열을 어떻게 "결합"합니까?

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

이 코드가 출력되기를 원합니다 a,b,c( ","로 요소 결합).


1
@scala_newbie 일부 사람들은 연구 노력이 부족하다고 생각하기 때문에 귀하의 질문이 다운 투표되었다고 생각합니다.
om-nom-nom

24
인터넷 검색이 질문 저의 연구 노력입니다
Walrus the Cat

답변:


424

mkString어떻 습니까?

theStrings.mkString(",")

접두사와 접미사도 지정할 수있는 변형이 있습니다.

훨씬 더 장황하지만 교육을 위해 볼 가치가있는 foldLeft 를 사용한 구현 은 여기 를 참조 하십시오 .


foldLeft 구현은 비어 있지 않은 목록을 가정합니다
Frawr

5
감사! 문자열 요소를 따옴표로 묶으려는 경우 mkString도 유용합니다. theStrings.mkString ( " '", "', '", "'")
Niko Gamulin

1
@Frawr이 페이지 는 oldfashionedsoftware.com/2009/07/30/… 의 여러 예제로 연결되며 여기에는 빈 목록 (Nil) 사례에 패턴 일치를 사용하는 구현이 포함됩니다. mkString을 모방하도록 수정하는 방법은 다음과 같습니다. def mkFoldLeftString[A](list:List[String], delim:String = ","): String = list match { case head :: tail => tail.foldLeft(head)(_ + delim + _) case Nil => "" }
Davos

2
langref.org 링크는 죽었습니다
Floegipoky
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.