かとじゅんの技術日誌

技術の話をするところ

今日のScala

Scalaの記事も面白いと思うので、気分転換に読んでみてくださいませw

本日書いたScalaコードはこちら。

val strList = List("K","A","T","O")
val join = strList.reduceLeft((x,y) => x + ", " + y)
println(join)

とすると、カンマ区切り文字列を簡単に作れます。

K, A, T, O

以下のようにも記述することができるそうです。

val join = strList.reduceLeft(_ + ", " + _)

あわせて読みたい

reduceLeft
配列の1つ目と2つ目を処理し、その結果を3つ目と処理し、その結果を4つ目と処理し、、と順次処理して、結果を返す。

id:yuroyoro先生からご教授いただきました。以下でよいとのこと。

val join = strList.mkString(",")

こういう感じに遊んでみました。(0 to 10)は0.to(10)の構文糖衣だとか。Rangeオブジェクトらしい。うーん、興味深いですなー

scala> println((0 to 10).mkString(","))
0,1,2,3,4,5,6,7,8,9,10

scala> println((0 to 10).mkString("[",",","]"))
[0,1,2,3,4,5,6,7,8,9,10]