通用值类

tka*_*uko 2 generics scala implicit

是否可以在scala中为某些定义值类Numeric[T]?我试过这样的事情:

case class Inches[T <: Numeric[T]](value: T)(implicit num: Numeric[T]) extends AnyVal
Run Code Online (Sandbox Code Playgroud)

但是我得到了编译错误value classes can have only one parameter.

有没有办法绕过这个?

先谢谢.

Ale*_*nov 6

您可以将Numeric参数从类移动到需要它的方法:

case class Inches[T](value: T) extends AnyVal {
  def foo()(implicit num: Numeric[T]) = ...
}
Run Code Online (Sandbox Code Playgroud)

(T <: Numeric[T]错了.)