Операции Scala с числовыми обобщениями
Когда я пытался сделать
def subtract[T: Numeric](x: T, y: T) : T = x-y
в Scala 2.12 -
не признается Тем не менее, это в основном эквивалентно тому, что предлагает дополнение с универсальным параметром типа в Scala. Что мне нужно изменить?
1 ответ
Решение
Самое простое, что можно сделать, это import Numeric.Implicits._
, Это добавляет, что стандартные инфиксные операторы, -
, *
и т. д. к текущей неявной области. Тогда все должно работать как положено.
Кроме того, вы можете снять неявное и использовать его напрямую.
def subtract[T: Numeric](x: T, y: T) : T = implicitly[Numeric[T]].minus(x,y)