Re: What does this mean ?
Oliver Ruebenacker <[email protected]> Wed, 17 Feb 2016 10:22:34 -0500
| Newsgroups | gmane.comp.lang.scala |
|---|---|
| Message-ID | <CAA=X4OCx7ugBdEdb6nD0TictNH66mWuR7n65DEXYpb1=EDr_zg@mail.gmail.com> |
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]>
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].
> 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.