groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guy Matz <guym...@gmail.com>
Subject Re: foo() || return false ?
Date Tue, 18 Jul 2017 14:00:32 GMT
Right!  This is what I'm trying to do, but in a more concise way . . .  any
thoughts anyone?

On Mon, Jul 17, 2017 at 8:43 PM, J. David Beutel <list@getsu.com> wrote:

> I guess OP wants to do:
>
> if (!doSomething()) {
>     return false
> }
>
> I don't know any groovy way to do that, though.
>
>
> On 2017-07-17 15:21 , John Wagenleitner wrote:
>
> Since the `||` operator expects an expression a return statement is not
> valid there.  If the goal is to call the method `doSomething()` and then
> return false, then both can be put on separate lines or a semicolon can be
> used to separate the statements to keep it a one-liner, e.g.,
> `doSomething(); return false`.
>
> On Mon, Jul 17, 2017 at 5:24 PM, Guy Matz <guymatz@gmail.com> wrote:
>
>> Thanks so much for the reply!  I'm not trying to do this, though: ||
>> false
>>
>> I'm trying to do this: || return false
>>
>> Is there a more groovy way?
>>
>> Thanks!!
>>
>>
>> On Mon, Jul 17, 2017 at 5:06 PM, John Wagenleitner <
>> john.wagenleitner@gmail.com> wrote:
>>
>>> That is not a valid start of an expression which is expected for the
>>> binary expression (expr || expr) so that's why it wont compile. I am not
>>> familiar with Scriptler and it is hard to tell without some more context,
>>> but how about just:
>>>
>>> doSomething()
>>>
>>> You can simplify by dropping the `|| false`.  If that's the last line in
>>> a boolean returning method/context it will return true if doSomething()
>>> returns a non-null/non-zero/non-false value, else false.  Otherwise you
>>> could coerce the value to a boolean with:
>>>
>>> doSomething() as boolean
>>>
>>>
>>> On Mon, Jul 17, 2017 at 1:18 PM, Guy Matz <guymatz@gmail.com> wrote:
>>>
>>>> Hello!
>>>> I'm trying to do the following in scriptler (Jenkins), but I can't get
>>>> this to work:
>>>> doSomething() || return false
>>>>
>>>> This fails in scripler with:
>>>>
>>>> Execution of script [promoteBuild.groovy] failed - org.codehaus.groovy.control.MultipleCompilationErrorsException:
startup failed:
>>>> Script1.groovy: 51: unexpected token: return @ line 51, column 85.
>>>>    doSomething() || return fal
>>>>
>>>> Anyone know why this seemingly valid groovy does not work in scriptler?
>>>>
>>>> Thanks!
>>>>
>>>> P.S. - I asked the jenkins community but no one responded
>>>>
>>>>
>>>
>>
>
>

Mime
View raw message