Jak „dołączyć” iterowalny ciąg znaków przez inny ciąg znaków w Scali?
val thestrings = Array("a","b","c")
val joined = ???
println(joined)
Chcę, aby ten kod był generowany a,b,c
(łącz elementy za pomocą „,”).
Jak „dołączyć” iterowalny ciąg znaków przez inny ciąg znaków w Scali?
val thestrings = Array("a","b","c")
val joined = ???
println(joined)
Chcę, aby ten kod był generowany a,b,c
(łącz elementy za pomocą „,”).
Odpowiedzi:
Co powiesz na mkString ?
theStrings.mkString(",")
Istnieje wariant, w którym możesz również określić prefiks i sufiks.
Zobacz tutaj implementację z użyciem foldLeft , która jest znacznie bardziej szczegółowa, ale być może warto spojrzeć ze względu na edukację.
def mkFoldLeftString[A](list:List[String], delim:String = ","): String = list match { case head :: tail => tail.foldLeft(head)(_ + delim + _) case Nil => "" }