Il existe une variante dans laquelle vous pouvez également spécifier un préfixe et un suffixe.
Voir ici pour une implémentation utilisant foldLeft , qui est beaucoup plus verbeux, mais qui mérite peut-être d'être étudié pour le bien de l'éducation.
Notez que l'implémentation de foldLeft suppose une liste non vide
Frawr
5
Merci! Dans le cas où quelqu'un souhaite mettre des éléments de chaîne entre guillemets, mkString est également utile: theStrings.mkString ("'", "', '", "'")
Niko Gamulin
1
@Frawr Cette page est liée à un tas d'exemples oldfashionedsoftware.com/2009/07/30/… qui inclut une implémentation qui utilise la correspondance de modèle pour le cas de liste vide (Nil). Le modifier pour imiter mkString serait comme ceci: def mkFoldLeftString[A](list:List[String], delim:String = ","): String = list match { case head :: tail => tail.foldLeft(head)(_ + delim + _) case Nil => "" }
Réponses:
Que diriez-vous de mkString ?
Il existe une variante dans laquelle vous pouvez également spécifier un préfixe et un suffixe.
Voir ici pour une implémentation utilisant foldLeft , qui est beaucoup plus verbeux, mais qui mérite peut-être d'être étudié pour le bien de l'éducation.
la source
def mkFoldLeftString[A](list:List[String], delim:String = ","): String = list match { case head :: tail => tail.foldLeft(head)(_ + delim + _) case Nil => "" }