Scala:我如何访问`Numeric`类型的算术运算?
发布时间:2020-12-16 09:52:04 所属栏目:安全 来源:网络整理
导读:class Foo[T](t: T)(implicit int: Numeric[T]) { val negated = -t val doubled = t + t val squared = t * t // ...} 我在这三条线上得到了红色的波浪形.是什么赋予了? 解决方法 对于某些T,你有一个Numeric [T]的实例,这就是所有好东西的所在.所以你只需
class Foo[T](t: T)(implicit int: Numeric[T]) { val negated = -t val doubled = t + t val squared = t * t // ... } 我在这三条线上得到了红色的波浪形.是什么赋予了? 解决方法
对于某些T,你有一个Numeric [T]的实例,这就是所有好东西的所在.所以你只需要访问你想要的方法(例如加号):
class Foo[T](t: T)(implicit int: Numeric[T]) { val sum = int.plus(t,t) } 如果使用上下文绑定(“T:Numeric”语法糖),则: class Foo[T : Numeric](t: T) { val sum = implicitly[Numeric[T]].plus(t,t) } 如果要使用快捷操作符,可以只导入隐式实例的成员: class Foo[T](t: T)(implicit int: Numeric[T]) { import int._ val sum = t + t } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容