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)

Reply via email to