Head of empty list in Scala
我在 Scala 中创建了这个递归方法,它返回一个由另一个列表的所有不同元素组成的列表。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
但是,当我编译代码然后运行它时,会出现以下异常:
java.util.NoSuchElementException: 空列表头
我认为这个异常是由条件 if (l.isEmpty) 处理的。
如何修复代码?
在 Scala 中方法返回块的最后一个表达式。在您的情况下,您有三个表达式:两个 if 表达式导致单元和调用 distinct,因此每次调用 distinct 时都会执行检查,无论列表是否为空。
要修复它,您可以使用 if / else 构造,或在输入列表上进行模式匹配,或对 headOption 进行操作。
无论如何,我怀疑这段代码是否正确:您试图检查 \\'filledList\\' 上的某些内容,它始终为空
您可以通过在第二个
另外,我理解,你只是想把这个函数写成一个练习(如果不是,就做