Re: What does this mean ?

Clement Dourval <[email protected]> Wed, 17 Feb 2016 07:40:45 -0800 (PST)
Newsgroups gmane.comp.lang.scala
Message-ID <[email protected]>
And what would the body of the receive function look like ?
If it is possible to write a quick view of it :)
I promise I will stop just after ! ^^

Le mercredi 17 février 2016 16:22:41 UTC+1, Oliver Ruebenacker a écrit :

>
>      Hello,
>
>   receive {...} is a call of the "receive" method and short for 
> receive({...}) 
>
>      Best, Oliver
>
> On Wed, Feb 17, 2016 at 10:11 AM, Clement Dourval <[email protected] 
> <javascript:>> wrote:
>
>> But what does the fact that the "receive" word is not followed by the '=' 
>> sign is meaning ?
>> receive is suposed to be a function here right ?
>> is that a kind of averride without having to write the whole signature.
>>
>> From where i'm standing, it seems to me that receive is a function with 
>> partial cases depending on the main argument to be Ping typed or other.
>>
>> But there is no = sign so what does this mean ?
>>
>> Le mercredi 17 février 2016 15:57:49 UTC+1, Oliver Ruebenacker a écrit :
>>
>>>
>>>      Hello,
>>>
>>>   The case keyword creates a partial function, e.g.:
>>>
>>> scala> val pf: Int => String = { case 42 => "Hello!" }
>>> pf: Int => String = <function1>
>>>
>>> scala> pf(42)
>>> res1: String = Hello!
>>>
>>>      Best, Oliver
>>>
>>> On Wed, Feb 17, 2016 at 9:40 AM, Clement Dourval <[email protected]> 
>>> wrote:
>>>
>>>> Hi, I'm currently Learning Scala and more precisely, concurrent 
>>>> programming with scala.
>>>>
>>>> I found this code :
>>>>
>>>> class Pong extends Actor {
>>>>   def act() {
>>>>     var pongCount = 0
>>>>     while (true) {
>>>>       receive {
>>>>         case Ping =>
>>>>           if (pongCount % 1000 == 0)
>>>>             Console.println("Pong: ping "+pongCount)
>>>>           sender ! Pong
>>>>           pongCount = pongCount + 1
>>>>         case Stop =>
>>>>           Console.println("Pong: stop")
>>>>           exit()
>>>>       }
>>>>     }
>>>>   }
>>>> }
>>>>
>>>> This is from a tutorial, so i'm expecting it to work, the only problem 
>>>> is I do not understand how.
>>>>
>>>> The main problem is, how does this code use the case keyword since 
>>>> there is no match !
>>>> (adress of the tutorial : http://www.scala-lang.org/old/node/242)
>>>>
>>>> Anyway, i understood what was the tutorial was supposed to do (with 
>>>> ping pong), I just don't understand what is written, I'd like to be able to 
>>>> write it myself.
>>>> But it seems i'm missing some syntax subtleties 
>>>> And even if these are deprecated, i found the same synthax with the 
>>>> akka Library ! So I'm asking myself how to read this.
>>>>
>>>> Anyone can help ? Thanks in advance !
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "scala-language" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> -- 
>>> Oliver Ruebenacker
>>> Senior Software Engineer, Diabetes Portal 
>>> <http://www.type2diabetesgenetics.org/>, Broad Institute 
>>> <http://www.broadinstitute.org/>
>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "scala-language" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Oliver Ruebenacker
> Senior Software Engineer, Diabetes Portal 
> <http://www.type2diabetesgenetics.org/>, Broad Institute 
> <http://www.broadinstitute.org/>
>
>

-- 
You received this message because you are subscribed to the Google Groups "scala-language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.