在学习了很多 Java 和一些 Haskell 之后,我想看看 Scala。从下面的代码中,我收到此错误消息
type mismatch; found : List[Nothing] => Option[Nothing] required: List[Int] => Option[Nothing]
我不知道我做错了什么:
object MyFirstScalaObject {
def main(args: Array[String]) {
lazy val testValues:List[List[Int]] = List((1 to 10).toList, null, List());
println( testFunction(last, testValues));
}
def testFunction[I, O](f : I => O, inputs : List[I]):
List[(I, O)] =
inputs.zip(inputs.map(f));
def last[A](xs:List[A]):Option[A] = xs match {
case x::Nil => Some(x);
case _::xs => last(xs);
case _ => None;
}
}
感谢您的任何建议。
干杯,