私は次のようにList
定義しています:
val l = List("1", "2", "3")
文字列に変換したい
"1:2:3"
1 つの方法は次のとおりです。
l.foldLeft("")((x, y) => x + (if (x == "") "" else ":") +y)
もっとエレガントな方法はありますか?
[編集: 詳細説明]
Easy Angel の答えは、要素にl
「意味のある」toString
方法がある場合に機能します。
私はl
asList[String]
を持っていますが、次のように、メソッドをl
オーバーライドしないカスタムタイプのリストにすることができます:toString
class my(i:Int) {
val x = i
}
方法もあります
def getMy(m:my) = "Hello "+m.x
したがって、デフォルトメソッドgetMy
の出力の代わりに の出力を使用したいと思います。toString