Add a space between ? and [

p ? [0] : [1]

Cheers,
Daniel Sun

On 2022/09/08 13:39:21 Christopher Smith wrote:
> The parser seems to be interpreting what you mean as a ternary as a
> null-safe array index.
> 
> On Thu, Sep 8, 2022, 08:37 o...@ocs.cz <o...@ocs.cz> wrote:
> 
> > Hi there,
> >
> > I've just decided it's time to upgrade from Groovy 3 to Groovy 4... and
> > immediately bumped into a problem, which looks like a parser bug in an
> > extremely trivial scenario, which seems weird.
> >
> > Do I perhaps miss something? I've checked
> > https://groovy-lang.org/releasenotes/groovy-4.0.html#Groovy4.0-breaking,
> > but in vain :(
> >
> > ===
> > 2012 ocs /tmp> <q.groovy
> > def p
> > def x=p?[0]:[1]
> > println "got $x"
> > 2013 ocs /tmp> /usr/local/groovy-3.0.12/bin/groovy q
> > got [1]
> > 2014 ocs /tmp> /usr/local/groovy-4.0.4/bin/groovy q
> > org.codehaus.groovy.control.MultipleCompilationErrorsException: startup
> > failed:
> > /private/tmp/q.groovy: 2: Unexpected input: ':' @ line 2, column 12.
> >    def x=p?[0]:[1]
> >               ^
> >
> > 1 error
> >
> > 2015 ocs /tmp>
> > ===
> >
> > Thanks for any insight,
> > OC
> >
> >
> 

Reply via email to