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