Вот пример кода. Не знаю, почему я получаю ошибку при использовании умножения. Должен ли я добавить неявное преобразование в Int? Конечно, ответ прост! Благодаряscala: перегрузка операций и неявное преобразование преобразования
class Fraction(val x:Int, val y:Int)
{
def X = x
def Y = y
implicit def int2Fraction(n: Int) = Fraction(n, 1)
def *(that: Fraction) : Fraction = new Fraction(that.X * X, that.Y * Y)
}
object Fraction {
def apply(x: Int, y: Int) = new Fraction(x, y)
}
val x : Int = 3
val result = x * Fraction(4, 5)
println(result.X)
Какая ошибка? –
Обновлено. Просто обновите страницу – Pavel