groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul King <pa...@asert.com.au>
Subject Re: Long String concatenation failed
Date Wed, 26 Sep 2018 08:31:27 GMT
Yes, done.

On Wed, Sep 26, 2018 at 2:54 PM Jmeter Tea <jmetertea@gmail.com> wrote:

> Paul King: Thank you, I can live with a workaround of adding a line
> continuation slash at the end of the line
> Can you answer the original question in stackoverflow
> <https://stackoverflow.com/questions/47786399/jmeter-groovy-script-concatenation-of-variables>
> ?
>
> On Tue, Sep 25, 2018 at 10:27 PM, Paul King <paulk@asert.com.au> wrote:
>
>>
>> Groovy uses the end of line as the statement terminator unless it can
>> safely tell that the next line should follow on. We didn't allow plus or
>> minus on the next line
>> when working out the list of things to safely accept since it would have
>> been a breaking change for anyone using the unaryPlus or unaryMinus
>> operators..
>> I suspect very few people use that operator as an overloadable operator
>> but some folks might use it in their DSLs for instance.
>>
>> We could create a GEP for Groovy 3.0 to change the behavior. We'd need to
>> outline how to allow the unary operator style.
>>
>> Why not use the line continuation slash at the end of the line:
>>
>> String text= "0"+"1" +
>> "2" \
>> +"3"
>>
>> Cheers, Paul.
>>
>>
>> On Tue, Sep 25, 2018 at 11:47 PM Jmeter Tea <jmetertea@gmail.com> wrote:
>>
>>> *mg: *Yes, I saw that it's working, but still,
>>>
>>> groovy should add sugar to java instead of removing support of working
>>> code in java as:
>>> String text= "0"+"1" +
>>> "2"
>>> +"3";
>>>
>>> Which I'm getting error:
>>> javax.script.ScriptException: groovy.lang.MissingMethodException: No
>>> signature of method: java.lang.String.positive() is applicable for argument
>>> types: () values: []
>>> Possible solutions: notify(), tokenize(), size(), size()
>>>
>>> Can I open a bug in groovy for this?
>>>
>>> On Tue, Sep 25, 2018 at 4:04 PM, mg <mgbiz@arscreat.com> wrote:
>>>
>>>> You can have new lines, just move the "<<" oi the end of the previous
>>>> line, so Groovy knows there is more coming (Groovy does not need
>>>> end-of-line semicolons btw):
>>>>
>>>> String text ="<id>" <<vars["id1"] << "<id><id2>"
<<
>>>>
>>>> vars["id2"] << "<id2>"
>>>>
>>>>
>>>> -------- Ursprüngliche Nachricht --------
>>>> Von: Jmeter Tea <jmetertea@gmail.com>
>>>> Datum: 25.09.18 14:54 (GMT+01:00)
>>>> An: users@groovy.apache.org
>>>> Betreff: Re: Long String concatenation failed
>>>>
>>>> Thank for your answers, I still have some comments:
>>>> *mg: *I don't want to have a huge line with 20 parameters that can't
>>>> be seen on screen so I need new lines between parameters
>>>> Nelson, Erick: I don't need XML as the article suggest " builder
>>>> classes to create XML "
>>>>
>>>> On Tue, Sep 25, 2018 at 3:39 PM, Nelson, Erick <
>>>> Erick.Nelson@hdsupply.com> wrote:
>>>>
>>>>> No, I mean markup builder.
>>>>>
>>>>> Mr Haki says it best….
>>>>>
>>>>>
>>>>> http://mrhaki.blogspot.com/2009/10/groovy-goodness-creating-xml-with.html
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Erick Nelson
>>>>>
>>>>> Senior Developer – IT
>>>>>
>>>>> HD Supply Facilities Maintenance
>>>>>
>>>>> (858) 740-6523
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *From: *mg <mgbiz@arscreat.com>
>>>>> *Reply-To: *"users@groovy.apache.org" <users@groovy.apache.org>
>>>>> *Date: *Tuesday, September 25, 2018 at 5:19 AM
>>>>> *To: *"users@groovy.apache.org" <users@groovy.apache.org>
>>>>> *Subject: *Re: Long String concatenation failed
>>>>>
>>>>>
>>>>>
>>>>> If it is just the CTE that is the problem, you just have ro move the
>>>>> "<<" to the end of the previous line...
>>>>>
>>>>>
>>>>>
>>>>> -------- Ursprüngliche Nachricht --------
>>>>>
>>>>> Von: Jmeter Tea <jmetertea@gmail.com>
>>>>>
>>>>> Datum: 25.09.18 09:56 (GMT+01:00)
>>>>>
>>>>> An: users@groovy.apache.org
>>>>>
>>>>> Betreff: Long String concatenation failed
>>>>>
>>>>>
>>>>>
>>>>> Hello,
>>>>>
>>>>> I have to  concatenate a lot of variables in a script and I want to make
it readable, but I failed to separate lines as in java, The following code doesn't compile
due to:
>>>>>
>>>>> Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException:
startup failed:
>>>>>
>>>>> Script1.groovy: 2: unexpected token: << @ line 2, column 1.
>>>>>
>>>>>    << vars["id2"] << "<id2>"
>>>>>
>>>>>
>>>>>
>>>>> Code:
>>>>>
>>>>> String text ="<id>" <<vars["id1"] << "<id><id2>"
>>>>>
>>>>> << vars["id2"] << "<id2>";
>>>>>
>>>>>
>>>>>
>>>>> Is there a workaround or a better way concatenation a string in groovy?
>>>>>
>>>>>
>>>>>
>>>>> Related question:
>>>>>
>>>>>
>>>>> https://stackoverflow.com/questions/47786399/jmeter-groovy-script-concatenation-of-variables
>>>>>
>>>>>
>>>>>
>>>>> Thank you
>>>>>
>>>>
>>>>
>>>
>

Mime
View raw message