У меня есть метод с большим количеством неявных параметров:
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
неявной.