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)