通用值 class
Generic value class
是否可以在 scala 中为某些 Numeric[T]
定义值 class?我试过这样的事情:
case class Inches[T <: Numeric[T]](value: T)(implicit num: Numeric[T]) extends AnyVal
但是我得到 value classes can have only one parameter
的编译错误。
有什么方法可以绕过这个吗?
先谢谢了。
您可以将 Numeric
参数从 class 移动到需要它的方法:
case class Inches[T](value: T) extends AnyVal {
def foo()(implicit num: Numeric[T]) = ...
}
(T <: Numeric[T]
是错误的。)
是否可以在 scala 中为某些 Numeric[T]
定义值 class?我试过这样的事情:
case class Inches[T <: Numeric[T]](value: T)(implicit num: Numeric[T]) extends AnyVal
但是我得到 value classes can have only one parameter
的编译错误。
有什么方法可以绕过这个吗?
先谢谢了。
您可以将 Numeric
参数从 class 移动到需要它的方法:
case class Inches[T](value: T) extends AnyVal {
def foo()(implicit num: Numeric[T]) = ...
}
(T <: Numeric[T]
是错误的。)