基本上我需要从给定列表中的键的映射中获取一组值(以相同的顺序给出键)。
val kv = Map("k3" -> "v3", "k1" -> "v1", "k2" -> "v2")
val ks = List("k1", "k2")
我能即兴创作的最好的已经foldRight
结束了ks
:
scala> (ks foldRight List[String]()) { (v, a) => kv(v) :: a }
res7: List[String] = List(v1, v2)
有没有更方便的方法可以在标准库或较短的代码中执行此操作,理想情况下是类似的kv getVals ks
?:)
问题当然不是那么重要,只是试图朝着好的风格去探索。