yur*_*ura 6 scala enrich-my-library
这是实现它的两种不同方式.
一个更短
implicit def toR1(s:String) = new { def getLength = s.length)}
Run Code Online (Sandbox Code Playgroud)
第二是更长
class R2(s:String){def getLength2 = s.length)}
implicit def toR2(s:String) = new R2(s)
Run Code Online (Sandbox Code Playgroud)
哪一个更好?
Jes*_*per 11
第一个版本使用结构类型.它使编写简短且可读的代码成为可能,但结构类型的缺点是在结构类型中调用方法时在运行时使用反射.通过反射调用方法比直接调用方法要慢.
更多细节在这篇博客文章中(由我编写):在拉皮条库时避免使用结构类型
| 归档时间: |
|
| 查看次数: |
351 次 |
| 最近记录: |