Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

ScalaでSeq[A]にインデックスアクセスしてOption[A]を得るにはliftメソッドを呼ぶ

val xs = List(1, 2, 3, 4, 5, 6, 7, 8, 9)

xs.lift(4) // => Some(5)
xs.lift(42) // => None

liftというのはある関数をOptionを返すように加工するようなときに使われる慣例的な名前で、今回は暗にapplyのことを指している。

www.scala-lang.org

元々liftPartialFunctionに対して実装されているメソッドなのだが、Seqへのインデックスアクセスも部分関数じゃん、ということで、なんとSeqはインデックスのIntを唯一の引数に取る部分関数とみなされて、PartialFunctionを継承している。面白い!

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?