【发布时间】:2012-03-13 05:15:20
【问题描述】:
有两种不同的实现方式。
一个更短
implicit def toR1(s:String) = new { def getLength = s.length)}
秒长
class R2(s:String){def getLength2 = s.length)}
implicit def toR2(s:String) = new R2(s)
哪个更好?
【问题讨论】:
-
implicit class R3(s:String) { def getLength = s.length }:) 我真的希望它会被包含在 Scala 2.10 中:docs.scala-lang.org/sips/pending/implicit-classes.html -
可能重复:How to implement intermediate types for implicit methods?。 TL;DR 第二种方法在性能方面更好,因为第一种方法在引擎盖下使用反射
-
隐式类已包含在 Scala 2.10 中,所以目前对这个问题的唯一答案可能已经过时了。