【发布时间】:2012-09-04 19:09:48
【问题描述】:
我正在尝试编写一个递归程序,用于将 int 与列表中的每个值进行比较。问题是我不断收到无法访问的错误,我真的不知道为什么。我的代码是
def isIn(x : Int, l : List[Int]) : Boolean = l match {
case Nil => false
case x => true
case h :: t => isIn(x, t)
}
我真的不明白为什么这不起作用。或者我想,我想知道如何将 x 与 head 用例进行比较。
【问题讨论】:
-
我想这可能只是一个简化的案例或一个学习练习,但如果你真的只是想看看
x是否在列表中,你可以使用l.contains(x)(或者稍微多一点输入安全l.exists(_ == x))。