ScalaのOption(Some/Null)について


ScalaのOption型についての紹介です。Optionは値をひとつだけ入れられるコンテナで値の入っているSomeと値の入っていないNoneが存在します。

🐹 Some

val o = Option("hoge") //=> Some("hoge")

// 値の取得
o.get //=> "hoge"

// 値が存在するかの判定
o.isEmpty //=> false

// isEmptyの逆、定義されているかを判定
o.isDefined //=> true

👽 None

Noneは値がない(null)を表すオブジェクトです。

val o = Option(null) //=> None

// 値が存在するかの判定
o.isEmpty //=> true

// isEmptyの逆、定義されているかを判定
o.isDefined //=> false
val urls = Map(
"apple" -> "https://www.apple.com/jp/",
"google" -> "https://www.google.co.jp/"
)

val google = urls.get("google") //=> Option[String] = Some(https://www.google.co.jp/)
urls.get("google").getOrElse("no url") // 値がなければ no url になる

パターンマッチで取得することもできます。

val google = urls.get("google")
google match {
case Some(url) =>
s"URLは $url だ!"
case None =>
"no url"
} // String = URLは https://www.google.co.jp/ だ!

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍