ScalaのOption/Either/Try型
エラーを表現するときに Option など似た型があるけれど、それぞれ用途は明確に異なる。
Option型
Section titled “Option型”単に「在るかどうか」を表す型。
opt match {case None => ???case Some(v) => ???}Either型
Section titled “Either型”「AまたはBどちらか」を表す型。AもBも制約はないので、エラーを表すためには片方をエラーメッセージ等にするが、本来はもっと汎用的に使える。
result match {case Left(v) => ???case Right(v) => ???}成功または失敗を表現するための型。Either よりも限定的なので、使えるならこれが良い。
result match {case Success(v) => ???case Failure(v) => ???}