You can use closures for arbitrary conditions (the return value is evaluated via Groovy truth), or regexes so it checks the toString of the value, etc.
Pretty powerful! Le 8 août 2015 17:09, "Owen Rubel" <oru...@gmail.com> a écrit : > Fascinating. Had no idea. Learn something new every day :) > > Owen Rubel > 415-971-0976 > oru...@gmail.com > > On Fri, Aug 7, 2015 at 10:21 PM, Guillaume Laforge <glafo...@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" <dk0...@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. >>> >> >