title: Using `evaluate` function. Why it doesn't work?
body: <p>This code:</p>
  
  <pre><code>evaluate ("def test() { println \"Test is successful!\" }")
  test()
  </code></pre>
  
  <p>results in exception:</p>
  
  <blockquote>
    <p>FATAL: No signature of method: script1409644336796288198097.test() is applicable for argument types: () values: []
    Possible solutions: use([Ljava.lang.Object;), getAt(java.lang.String), use(java.util.List, groovy.lang.Closure), use(java.lang.Class, groovy.lang.Closure), wait(), wait(long)
    groovy.lang.MissingMethodException: No signature of method: script1409644336796288198097.test() is applicable for argument types: () values: []
    Possible solutions: use([Ljava.lang.Object;), getAt(java.lang.String), use(java.util.List, groovy.lang.Closure), use(java.lang.Class, groovy.lang.Closure), wait(), wait(long)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)
    ...</p>
  </blockquote>
  
  <p>What I'm doing wrong?</p>