この関数と関数呼び出し:
def listRange(lo: Int, hi: Int): List[Int] =
if (lo >= hi) Nil
else {
println(listRange(lo + 1, hi) + ","+lo)
lo :: listRange(lo + 1, hi)
}
listRange(1, 3)
この出力を生成します:
/> List(),2
//| List(2),1
//| List(),2
//| res1: List[Int] = List(1, 2)
再帰反復ごとに空のリストが出力されるのはなぜですか?