私は、別のリストのすべての別個の要素からなるリストを返すScalaでこの再帰的metodを作った。Scalaの空リストの先頭
java.util.NoSuchElementException:空のリストの先頭
私はこの例外があったと思った私は、コードをコンパイルしてから、私はそれを実行したときに
object es20 extends App{
def filledList:List[Int]=List()
@scala.annotation.tailrec
def distinct(l:List[Int]):List[Int] ={
if (l.isEmpty) filledList
if (filledList.forall(_!=l.head)) l.head::filledList
distinct(l.tail)
}
println(distinct(List(1,1,5,6,6,3,8,3))) //Should print List(1,5,6,3,8)
}
しかし、この例外がありますif(l.isEmpty)の条件で処理します。
コードを修正するにはどうすればよいですか?
これは、デバッガでコードをステップ実行することによって簡単に回答できる質問の素晴らしい例です。それをどうやってやるのか分からなければ、学ぶのは良い考えです。それはあなたにとって非常に役に立つでしょう。 –