前提・実現したいこと
Scalaで引数のペアをもつリストを戻り値とする再帰関数を書いています。例えば引数が1000だった場合、(1000,1000),(999,999),(998,998),(997,997),...が戻り値になります。
発生している問題・エラーメッセージ
本来はList[(Long, Long)]を戻して欲しいのですが、おそらく条件を満たさなかった場合にList[Unit]を戻してしまっています。
エラーメッセージ
On line 4: error: type mismatch;
found : Unit
required: (Long, Long)
該当のソースコード
Scala 2.13.3
ソースコード
def recursion(n: Long) : List[(Long, Long)] = {
if(n == 1) List((n, n))
else if(n > 1) List((n, n)) ++ recursion(n - 1)
else List(())
}
試したこと
何を直せばいいのか全くわからず混乱している状況です。試しに戻り値をList[Long]にしてみたらそのときは正常に動きました。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/30 13:37
2020/12/05 09:54