假设我有一个int列表.我可以调用lift它上面的函数并获得另一个类型的函数T => Option[T].
val f0: Int => Option[Int] = List(1, 2).lift
println(f0.apply(0)) // Some(1)
println(f0.apply(1)) // Some(2)
println(f0.apply(2)) // None
Run Code Online (Sandbox Code Playgroud)
但它是如何工作的?为什么我可以应用lift(来自PartialFunction特征)功能List?有一些隐含的魔法吗?