我试图指定应该在特征中返回一些数字的泛型函数,如下所示:
import Numeric.Implicits._
trait ReturnsNumberResult {
def process[T : Numeric](): T
def output[T : Numeric](v: T)(implicit numeric: Numeric[T]): String
def runJob(): Any = {
output(process())
}
当我试图编译这个特性时,我得到了错误:
模糊隐含值:[错误]对象BigIntIsIntegral中 object scala.math.Numeric.BigIntIsIntegral.type类型的数字 [error]和对象IntIsIntegral in object数值类型 scala.math.Numeric.IntIsIntegral.type [error]匹配预期类型 数字[T] [错误]输出(进程())
出了什么问题以及如何实现目标?
答案 0 :(得分:1)
这是因为$event_cats = get_the_terms( $post_id, 'tribe_events_cat' )
并未明确声明runJob
和T: Numeric
方法的output
的类型。
因此编译器无法推断process
方法中T: Numeric
和output
方法的类型process
。
所以你可以解决它:
runJob