val xs = List(1, 2, 3, 4, 5, 6, 7, 8, 9) xs.lift(4) // => Some(5) xs.lift(42) // => None
liftというのはある関数をOptionを返すように加工するようなときに使われる慣例的な名前で、今回は暗にapplyのことを指している。
元々liftはPartialFunctionに対して実装されているメソッドなのだが、Seqへのインデックスアクセスも部分関数じゃん、ということで、なんとSeqはインデックスのIntを唯一の引数に取る部分関数とみなされて、PartialFunctionを継承している。面白い!