8

目前我使用以下代码片段:

private val aMap = Map(
  "J" -> Journey,
  "T" -> Training
)

def partialFunction = {
  case x if aMap isDefinedAt x => aMap(x)
}

在我看来,地图自然应该定义一个偏函数。Scala 是否有任何标准/更简洁和明确的方式将映射转换为部分函数?也许某种隐式转换?

4

1 回答 1

21

ScalaMap实际上PartialFunction; _ 你可以这样使用它。无需转换,隐式或显式。

例如:

val pf: PartialFunction[Int, String] = Map(1 -> "one")
于 2014-03-25T10:41:22.737 回答