覆盖scala类型的toString
发布时间:2020-12-16 08:49:04 所属栏目:安全 来源:网络整理
导读:我在 Scala中有一个类型: type Fingerprint = Seq[(Int,Int)] 我想覆盖这种类型的toString.我怎样才能做到这一点? 解决方法 有充分的理由使用基于类的类型方法来解决这类问题,而不是使用Scala的toString(可以说这只是一个令人不愉快的Java手工),以及你无法
我在
Scala中有一个类型:
type Fingerprint = Seq[(Int,Int)] 我想覆盖这种类型的toString.我怎样才能做到这一点? 解决方法
有充分的理由使用基于类的类型方法来解决这类问题,而不是使用Scala的toString(可以说这只是一个令人不愉快的Java手工),以及你无法在一个toString上使用toString的事实.任意类型就是其中之一.例如,您可以使用
Scalaz的Show类类编写以下内容:
import scalaz._,syntax.show._ implicit val fingerprintShow: Show[Fingerprint] = Show.shows( _.map(p => p._1 + " " + p._2).mkString("n") ) 然后: scala> Seq((1,2),(3,4),(5,6)).shows res0: String = 1 2 3 4 5 6 基于隐式类或其他隐式转换的类型基于类的方法也有很好的理由 – 类型类实例通常更容易推理和调试. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |