私と Scala の間にはいくつかの誤解があります
0または1?
object Fun extends App {
def foo(list:List[Int], count:Int = 0): Int = {
if (list.isEmpty) { // when this is true
return 1 // and we are about to return 1, the code goes to the next line
}
foo(list.tail, count + 1) // I know I do not use "return here" ...
count
}
val result = foo( List(1,2,3) )
println ( result ) // 0
}
- 0 と出力されるのはなぜですか?
- 「return」がなくても再帰が機能するのはなぜですか(関数の途中であり、最後ではない場合)?
- なぜ1を返さないのですか?「return」を明示的に使用する場合
- - 編集:
return
ここを使えばうまくいきます"return foo(list.tail, count + 1)'
。しかし、「return 1」が上記で機能しない理由を(私にとっては)説明していません。