Есть ли у меня что-то неправильное со следующим фрагментом: -
object Imp {
implicit def string2Int(s: String): Int = s.toInt
def f(i: Int) = i
def main(args: Array[String]) {
val n: Int = f("666")
}
}
Я получаю следующее из компилятора 2.8: -
Информация: компиляция завершена с 1 ошибкой и 0 предупреждениями
Информация: 1 ошибка
Информация: 0 предупреждений
... \scala -2.8-тесты\SRC\Imp.scala
Ошибка: ошибка: строка (4) ошибка: тип несоответствия;
найдено: Строка
требуется:? {val toInt:?}
Обратите внимание, что неявные преобразования не применяются, поскольку они неоднозначны:
оба метода string2Int в объекте Imp типа (s: String) Int
и метод augmentString в объекте Predef типа (x: String) scala.collection.immutable.StringOps
Возможные функции преобразования из String в? {val toInt:?}
неявный def string2Int (s: String): Int = s.toInt