应用中自己写的代码和调用的第三方函数库有着一个基本的区别:也就是你可以任意修改和扩展自己写的代码,而一般来说在没有源码的情况下很难扩展第三方函数库,只能利用函数库提供什么就是什么。
C#3.0支持静态扩展方法,可以为已经定义的库,类进行扩展。
在Scala中解决这个问题是使用隐含类型变换和隐时参数。它们可以使调用函数库变得更加方便,并避免一些繁琐和显而易见的细节。
Scala 的implicit 可以有implicit 类,方法和参数。
本系列文章介绍Scala的隐式变换和隐式参数的用途。