2017-05-08 1 views
0

In Scala, ich habe eine Karte.Scala bekommt einen Wert von einer Karte, wenn Sie nicht sicher sind, ob die Karte den Wert

Ich möchte um ein Objekt bitten - sagen Sie einen Zug - von meiner Karte. Dann möchte ich die "getNumberOfCarriages" -Methode auf meinem Zug aufrufen.

Wenn ich nicht weiß, ob die Karte einen Eintrag für den Schlüsselwert "Thomas" hat, wie kann ich in scala sicher nach der Anzahl der Wagen fragen oder einen Standardwert (aus Gründen der Beispiel: 0?)

dh wie nenn i

myMap.get("Thomas").getNumberOfCarriages() 

ich eine getOrElse Methode gesehen habe, aber ich bin nicht sicher, ob es für das Problem anwendbar ist?

+2

'myMap.get (" Thomas "). Map (getNumberOfCarriages') gibt' Option [Int] 'zurück. Es liegt an dir und deinem Problem zu interpretieren. Bleiben Sie mit "Option" oder erhalten Sie Wert mit Fallback auf Standard. – Zernike

Antwort

3

Eine Sache, die Sie tun können, ist lift es zu einem Option und dann fold über sie entweder die Anzahl der Wagen oder einen Standardwert, wenn None zu bekommen.

+0

danke, das ist, was ich gesucht habe. Ich werde akzeptieren, wenn es mich lässt – bharal

Verwandte Themen