Scala中的参数函数参数的运行时控制

时间:2019-04-30 15:40:17

标签: scala generics types

我在Scala中具有以下参数函数:

implicit class X(str: String) {
  def toPositiveNumeric[T >: Int with Long with Float with Double <: AnyVal]
  (implicit ev: T => Ordered[T], ctag: ClassTag[T]): T = ???
}

我想调用一个单元测试,在那里我将有各种类型和值:

Array(Array(Int.getClass, "123"), Array(Double.getClass, "123"))
  .foreach { case Array(tpe, str) => 
     assert(str.toPositiveNumeric[tpe] == 123.asInstanceOf[tpe])

这确实按原样起作用,因为tpe在这些地方不起作用。有什么方法可以使这项工作正常进行吗?或者这种混合运行时和编译时间的方式很难处理?

0 个答案:

没有答案