0

この関数と関数呼び出し:

  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)

再帰反復ごとに空のリストが出力されるのはなぜですか?

4

1 に答える 1