Lors de l'étude des sources de akka
je trouve ce qui suit dans l'acteur akka.event.slf4j.SLF4JLogger
:Que signifie @ dans Scala?
def receive = {
//...
case event @ Warning(logSource, logClass, message) ⇒
withMdc(logSource, event) { Logger(logClass, logSource).warn("{}", message.asInstanceOf[AnyRef]) }
case event @ Info(logSource, logClass, message) ⇒
withMdc(logSource, event) { Logger(logClass, logSource).info("{}", message.asInstanceOf[AnyRef]) }
case event @ Debug(logSource, logClass, message) ⇒
withMdc(logSource, event) { Logger(logClass, logSource).debug("{}", message.asInstanceOf[AnyRef]) }
//...
}
Je ne comprenais pas tout à fait ce qui est le signe @
. Ce n'était pas une méthode et il n'y a aucune déclaration de event
dans la portée. Warning
, Info
et Debug
sont tous des objets avec des méthodes d'application.
@ c1moore oh, c'est vrai, na pas trouver réponse liée – ipoteka