読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

Mapから指定した順番に値を取り出す。

Scala

こういうMapがあるとするじゃろ?

val m = Map("fuga" -> "2", "bar" -> "3", "hoge" -> "1")

このMapの値を、hoge fuga barの順番に取り出したい。

まあ、こんな感じっす。 Seq dからmapでdの値をキーとしてmの値をgetし、あったらその値を、なかったら""とか0とかを返す、みたいな感じ。

scala> val m = Map("fuga" -> "2", "bar" -> "3", "hoge" -> "1")
m: scala.collection.immutable.Map[String,String] = Map(fuga -> 2, bar -> 3, hoge -> 1)

scala> val d = Seq("hoge", "fuga", "bar")
d: Seq[String] = List(hoge, fuga, bar)

scala> d.map(m.get(_).getOrElse(""))
res1: Seq[String] = List(1, 2, 3)

scala> d.map(m.get(_).getOrElse("")).mkString(",")
res2: String = 1,2,3