以下は、末尾再帰を使用して記述しようとしている単純な「繰り返し」メソッドです。この関数の唯一の目的は、与えられた文字列を連続して 'n' 回繰り返すことです。
つまり、repeat("Hello",3) = "HelloHelloHello"
しかし、何らかの理由で「java.lang.UnsupportedOperationException」が発生し、その理由がわかりません。
PS これは宿題なので、率直な答えではなく、正しい方向を指し示すことができれば最高です!
def repeat(s: String, n: Int): String = {
def tailRepeat(str: String, x: Int): String = x match {
case `n` => str
case _ => val repeatString = s + str
tailRepeat(repeatString, (x + 1))
}
tailRepeat(s, 0)
}