Supposons que j'ai 2 méthodes, A, B et 4 classes, C, D, E, T.Scala: function passer un comme un paramètre par la fonction B où B déclare un paramètre implicite pour la fonction A
def A(c: C)(implicit t: Request[T]): D { ... }
def B(fn: C => D): E {
implicit val t // I have to declare implicit val for A here
fn(c)
...
}
Ensuite, je veux appeler la méthode B avec a comme paramètre
B(A)
Mais il y a une erreur « Impossible de trouver requête HTTP ici » à la ligne B (a)
Je veux juste passer la fonction Un comme un paramètre à exécuter dans méthode B, pas quand j'appeler la méthode B.
J'ai essayé de déclarer explicitement t comme ça, cela fonctionne
def A(c: C, t: Request[T]): D { ... }
def B(fn: C => D): E {
fn(c, t)
...
}
Mais je veux vraiment faire implicite
Est-il possible de le faire ??
D'où vient le 'T'? Je ne le vois pas déclaré nulle part. –
@YuvalItzchakov Merci. J'ai oublié de le mettre dans le post. –