码迷,mamicode.com
首页 > 其他好文 > 详细

implicit修饰符

时间:2015-06-24 12:57:29      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:hadoop   超人学院   scala   

implicit修饰符
语法:
LocalModifier ::= ?implicit?
ParamClauses ::= {ParamClause} [nl] ?(? ?implicit? Params ?)?
用implicit修饰符标记的模板成员和参数可以传递给隐含参数(§7.2),且可以在隐式转换中使用,这种情况称为视图(§7.3)。implicit修饰符不能用于所有的类型成员和顶级对象(§9.2)。
示例7.1.1 以下代码定义了一个幺半群的抽象类以及两个实现,StringMonoid和IntMonoid。这两个实现标记为implicit
abstract class Monoid[A] extends SemiGroup[A] {
def unit: A
def add(x: A, y: A): A
}
object Monoids {
implicit object stringMonoid extends Monoid[String] {
def add(x: String, y: String): String = x.concat(y)
def unit: String = “”;
}
implicit object intMonoid extends Monoid[Int] {
def add(x: Int, y: Int): Int = x + y
def unit: Int = 0
}

}

更多精彩内容请关注:http://bbs.superwu.cn

关注超人学院微信二维码:技术分享

implicit修饰符

标签:hadoop   超人学院   scala   

原文地址:http://blog.csdn.net/crxy2014/article/details/46620215

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!