Я пытаюсь зациклить второй параметр (exp) в этой функции, которая использует параметры вызова по имени. Первые 3 параметра — это индекс, логическое значение для остановки цикла и функция приращения. Я получаю вывод с 10 '(), когда пытаюсь зациклить "hello world" 10 раз, как показано в тестовом коде. Могу ли я получить некоторую помощь с тем, что здесь не так? Спасибо
def forLoop(ival: => Int, f: (Int) => Boolean, g: (Int)=>Int)(exp: => Unit): Unit = {
if(f(ival)==false)
return
else {
println(exp)
forLoop(g(ival),f,g)(exp)
}
}
def f(x: Int): Boolean = { x<10 }
def g(y: Int): Int = { y+1 }
val exp: Unit = "Hello World"
forLoop(0,f,g)("Hello World")