2014-03-25 14 views
5

derzeit folgenden Code-Snippet Ich verwende:Wie kann ich scala Karte auf eine Teilfunktion umwandeln

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

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

Es scheint mir, dass Karten natürlich eine Teilfunktion definieren sollen. Hat Scala einen standardisierten/präziseren Weg, um eine Karte in eine Teilfunktion umzuwandeln? Vielleicht eine Art implizite Konvertierung?

Antwort

12

A Scala Map tatsächlich ist ein PartialFunction; Sie können es einfach so verwenden. Keine Konvertierung erforderlich, implizit oder explizit.

Zum Beispiel:

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