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.