Я не совсем хороший программист на Scala, и мне нужна помощь в понимании синтаксиса. Вот trait Я борюсь с:
trait ActorTracing extends AroundReceiveOverrideHack { self: Actor =>
protected def serviceName: String =
this.getClass.getSimpleName
implicit def any2response[T](msg: T): ResponseTracingSupport[T] =
new ResponseTracingSupport(msg)
implicit lazy val trace: TracingExtensionImpl =
TracingExtension(context.system)
override protected final def aroundReceiveInt(receive: Receive, msg: Any): Unit =
msg match {
case ts: BaseTracingSupport if receive.isDefinedAt(msg) =>
trace.start(ts, serviceName)
case _ =>
}
}
Кажется, что тело признаков начинается с литерала Function1. self:Actor =>... Что бы это значило здесь, в этом примере?