val stateCapitals = Map( "Alabama" -> "Montgomery", "Alaska" -> "Juneau", // ... "Wyoming" -> "Cheyenne") println( "Get the capitals wrapped in Options:" ) println( "Alabama: " + stateCapitals.get("Alabama") ) println( "Wyoming: " + stateCapitals.get("Wyoming") ) println( "Unknown: " + stateCapitals.get("Unknown") ) println( "Unknown: " + stateCapitals.get("Hoge") ) println( "Get the capitals themselves out of the Options:" ) println( "Alabama: " + stateCapitals.get("Alabama").get ) println( "Wyoming: " + stateCapitals.get("Wyoming").getOrElse("Oops!") ) println( "Unknown: " + stateCapitals.get("Unknown").getOrElse("Oops2!") )
Scala Mapメモ(Hishidama's Scala Map Memo)
Mapとgetを駆使すると、Option値にくるまれた値がかえってくる。getの引数に該当するものがなかったらNoneがかえってくる。
なお、nullはScalaにも存在するけども、nullに対してメソッドを呼び出すと設計で混乱を招くおそれがあるため、Scalaでは値の戻り値が何も参照しないことがあるとき、Noneを使うことを推奨されている。
Programming Scala: Scalability = Functional Programming + Objects
- 作者: Dean Wampler,Alex Payne
- 出版社/メーカー: O'Reilly Media
- 発売日: 2014/12/03
- メディア: Kindle版
- この商品を含むブログを見る