【发布时间】:2013-03-18 09:52:34
【问题描述】:
我正在玩 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
}
}
我可以让它只适用于微不足道的情况。
这可以使用模式匹配来完成吗?我知道我可以使用列表中的方法使其工作,但这只是一个玩具程序。
【问题讨论】:
标签: list scala pattern-matching