Сегодня я начал работать со Scala и столкнулся с интригующей проблемой. Я запускаю выражение for для перебора символов в строке, например:
class Example {
def forString(s: String) = {
for (c <- s) {
// ...
}
}
}
и он постоянно терпит неудачу с сообщением:
error: type mismatch; found : Int required: java.lang.Object Note that implicit conversions are not applicable because they are ambiguous: ... for (c <- s) { ^ one error found
Я попытался изменить цикл на несколько вещей, включая использование длины строки и использование жестко закодированных чисел (только для тестирования), но безрезультатно. Поиск в сети тоже ничего не дал...
Редактировать: этот код является наименьшим, до которого я мог бы его сократить, но все равно выдает ошибку:
class Example {
def forString(s: String) = {
for (c <- s) {
println(String.format("%03i", c.toInt))
}
}
}
Ошибка такая же, как и выше, и происходит во время компиляции. Запуск в «интерпретаторе» дает то же самое.