foo() || return false ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

foo() || return false ?

Guy Matz
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
Reply | Threaded
Open this post in threaded view
|

Re: foo() || return false ?

jwagenleitner
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 <[hidden email]> 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

Reply | Threaded
Open this post in threaded view
|

Re: foo() || return false ?

Guy Matz
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 <[hidden email]> 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 <[hidden email]> 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


Reply | Threaded
Open this post in threaded view
|

Re: foo() || return false ?

jwagenleitner
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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



Reply | Threaded
Open this post in threaded view
|

Re: foo() || return false ?

J. David Beutel-4
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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




Reply | Threaded
Open this post in threaded view
|

Re: foo() || return false ?

Thibault Kruse
It's probably a good thing this is not possible, as nobody wants to read code like:
if (foo () || return false) {
  return true;
}


This works though:

return doSomething() && {doOtherThings()}
Which might be good enough.

On Jul 18, 2017 10:43 AM, "J. David Beutel" <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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




Reply | Threaded
Open this post in threaded view
|

Re: foo() || return false ?

Guy Matz
In reply to this post by J. David Beutel-4
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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





Reply | Threaded
Open this post in threaded view
|

Re: foo() || return false ?

Paul Moore
Why do you need something "more concise"? It seems pretty OK to me...

On 18 July 2017 at 15:00, Guy Matz <[hidden email]> wrote:

> 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 <[hidden email]> wrote:
>>
>> I guess OP wants to do:
>>
>> if (!doSomething()) {
>>     return false
>> }
Reply | Threaded
Open this post in threaded view
|

Re: foo() || return false ?

jwagenleitner
In reply to this post by Guy Matz
How about

if (!doSomething()) return false


On Tue, Jul 18, 2017 at 7:00 AM, Guy Matz <[hidden email]> wrote:
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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






Reply | Threaded
Open this post in threaded view
|

Re: foo() || return false ?

Guy Matz
That's totally acceptable.  Thank you!!

On Tue, Jul 18, 2017 at 9:18 AM, John Wagenleitner <[hidden email]> wrote:
How about

if (!doSomething()) return false


On Tue, Jul 18, 2017 at 7:00 AM, Guy Matz <[hidden email]> wrote:
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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