Мне нужно взять список классов case и преобразовать их в a в одну строку с запятой (без заголовка или хвостовой запятой) ,складывание списка классов в одну строку, разделенную запятой (в Scala)
case class State(name: String)
def toLine(states: State*): String = {
}
так, toLine (State ("один"), государство ("два"), государство ("три")) должен возвращать один, два, три
вот что я подумал. любой лучший способ?
def toLine(states: State*): String = {
states match {
case s if s.isEmpty => throw new Exception
case s => s.tail.foldLeft(s.head.name)(_+","+_)
}
}
Есть ли способ гарантировать, что в списке будет хотя бы одно значение?
интересно, работает ваш код дал мне это: Скала> Защиту toLine (state: State, states: State *): String = { | states.mkString (",") | } toLine: (state: State, states: State *) String scala> toLine (State ("one"), State ("two"), State ("three")) res0: String = State (two), Штат (три) –
Забыл на карту имя. – Ryan