読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

ScalaのMap

Scala
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)

Scala Standard Library 2.11.7

Mapとgetを駆使すると、Option値にくるまれた値がかえってくる。getの引数に該当するものがなかったらNoneがかえってくる。

なお、nullはScalaにも存在するけども、nullに対してメソッドを呼び出すと設計で混乱を招くおそれがあるため、Scalaでは値の戻り値が何も参照しないことがあるとき、Noneを使うことを推奨されている。

Programming Scala: Scalability = Functional Programming + Objects

Programming Scala: Scalability = Functional Programming + Objects