groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Owen Rubel <oru...@gmail.com>
Subject Re: Curious that Groovy case can match values that are not equal to the candidate
Date Sat, 08 Aug 2015 15:07:49 GMT
Fascinating. Had no idea. Learn something new every day :)

Owen Rubel
415-971-0976
orubel@gmail.com

On Fri, Aug 7, 2015 at 10:21 PM, Guillaume Laforge <glaforge@gmail.com>
wrote:

> Hi David,
>
> Groovy 's switch is a bit special and his beyond Java' s.
> Please have a look at the documentation about it.
> When a list is passed, it checks if the element is contained within.
>
> Guillaume
> Le 7 août 2015 23:07, "KARR, DAVID" <dk068x@att.com> a écrit :
>
>> Reading REGINA, I find this detail of Groovy semantics very curious:
>> ----------------------
>> def myList = ['a', 'b', 'c']
>> switch ('c') {
>> case myList: assert true;break;
>> default: assert false;break;
>> }
>> --------------
>>
>> In all the languages I'm aware of with some sort of "switch/case"
>> construct, you can always assume that if the "case" matches, then the
>> "case" value "is equal to" the switch candidate.  This is the first time
>> I've seen this not be the case.
>>
>> I certainly understand what Groovy is doing here, and I appreciate the
>> power of it, it's just a bit surprising.
>>
>

Mime
View raw message