【发布时间】:2012-03-09 11:30:15
【问题描述】:
我有一个方法,有很多隐式参数:
def hello(message:String)(implicit a:A,b:B,c:C, ..., user: User) = {...}
现在考虑这样一个类:
object Users extends Controller {
implicit a: A = ...
implicit b: B = ...
...
def index(id:String) = Action {
User.findById(id) match {
case Some(user) => {
implicit val _user = user
hello("implicit")
}
case _ => BadRequest
}
}
}
您可以在上面的示例中看到这一行:
implicit val _user = user
它的存在只是为了使对象user 成为一个隐式对象。否则,我必须将hello 称为:
hello("implicit")(a,b,c,... user)
我正在考虑是否有任何方法可以改进代码,例如我们不需要定义 _user 变量,而是让 user 是隐式的。
【问题讨论】:
标签: scala playframework-2.0 pattern-matching implicit