Re: Using variables in an embedded Groovy script

Jochen Wiedmann <[email protected]>
Newsgroups gmane.comp.lang.groovy.user
Message-ID <pony-06425281-fb67-4802-8bf1-085d3568192c-users@groovy.apache.org>
Hi, Paul,

could you, please, explain what you mean? I really have no idea, what you mean.

Thanks,

Jochen


On 2023/09/25 15:07:28 Paul King wrote:
> You'd need to interleave the values from the GString.
> 
> On Tue, Sep 26, 2023 at 12:43 AM Jochen Wiedmann
> <[email protected]> wrote:
> >
> > Hi,
> >
> > can anyone advise me, what is wrong with the following code: I'd
> > expect it to write out the word "Okay". Instead, it throws the
> > exception "Unexpected result: Hello, !"
> >
> > final String scriptStr = "return \"Hello, $name!\";";
> > final GroovyShell gs = new GroovyShell();
> > final Script script = gs.parse(new StringReader(scriptStr));
> >
> > final Binding binding = new Binding();
> > binding.setProperty("name", "world");
> > script.setBinding(binding);
> >
> > final GStringImpl gsi = (GStringImpl) script.run();
> > final String[] gsArray = gsi.getStrings();
> > final String result;
> >
> > if (gsArray == null || gsArray.length == 0) {
> >     result = null;
> > } else {
> >     result = String.join("", gsArray);
> > }
> >
> > if (!"Hello, world!".equals(result)) {
> >     throw new IllegalStateException("Unexpected result: " + result);
> > }
> > System.out.println("Okay.");
> >
> >
> >
> > --
> > The woman was born in a full-blown thunderstorm. She probably told it
> > to be quiet. It probably did. (Robert Jordan, Winter's heart)
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.