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)