如何将scala Map转换为部分函数

时间:2014-03-25 10:34:39

标签: scala map partialfunction

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

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

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

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

1 个答案:

答案 0 :(得分:15)

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

例如:

val pf: PartialFunction[Int, String] = Map(1 -> "one")