Scala binding object reference when using extractors

Is there any way to do this:

// I'm using akka, perhaps there a magic variable inside receive I can use def receive = { case Message(channel, data, sender) => { // do stuff with channel, data, sender // Oops, I want to reuse message, so I have to build a new one foo ! Message(channel, data, sender) } } 

In something like this:

 def receive = { case x: Message(channel, data, sender) => { // do stuff with channel, data, sender // Now I want to reuse message foo ! x } } 
+7
scala pattern-matching case-class akka
source share
1 answer

Use @ to also capture the complete object.

 case x @ Message(channel, data, sender) => { // do stuff with channel, data, sender foo ! x } 
+17
source share

All Articles