如何在Scala中组合类型类?
发布时间:2020-12-16 19:23:57 所属栏目:安全 来源:网络整理
导读:我的代码看起来像这样: /** * A divisor that operates on real numbers. */case class RealDivisor(divisor: Long) extends Divisor[Double,Double] with Divisor[Long,Double] // ... with Divisor[Int,Double],etc. { override def divide(dividend: Dou
我的代码看起来像这样:
/** * A divisor that operates on real numbers. */ case class RealDivisor(divisor: Long) extends Divisor[Double,Double] with Divisor[Long,Double] // ... with Divisor[Int,Double],etc. { override def divide(dividend: Double): Double = if (divisor != 0) dividend / divisor.toDouble else 0 def divide(dividend: Long): Double = divide(dividend.toDouble) } 我宁愿能做这样的事情: case class RealDivisor(divisor: Long) extends Divisor[A: Numeric] { // ... } 因此,我只需要实现一次除法.我该怎么办? 解决方法
您正在寻找的是
field的想法.
Field类型由例如提供. Spire. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 单元测试 – 如何同步对akka Actor进行单元测试?
- scala – foreach和Enumeration
- 删除?/ .bash_profile后检索加载的bash配置文件
- WebService学习笔记-读取webxml.com.cn的天气服务
- scala – Play Framework 2.0.升级bonecp
- scala – SBT:修复库依赖的驱逐警告是明智的
- xifire webservice 接口 带头信息安全验证的实例
- angularjs – 在ng-repeat内部按钮以更新表单中的
- angularjs – 如何在Angular中控制日期过滤器的时
- angularjs – 如何测试使用templateUrl和控制器的
热点阅读