我在玩 scala 模式匹配,试图创建一个 findNext 函数:
findNext(1,List(1,2,3)) == 2
findNext(2,List(1,2,3)) == 3
findNext(3,List(1,2,3)) == 1
def findNext(needle : Int, haystack : List[Int]): Int = {
haystack match {
case Nil => /* handle it */
case needle::Nil => needle
case front::needle::back => back.head
case needle::back::Nil => back.head
}
}
我可以使它仅适用于微不足道的情况。
这可以使用模式匹配来完成吗?我知道我可以使用列表中的方法使其工作,但这只是一个玩具程序。