Groovy скрипт возвращает ноль

Java-файл:

      public class TestModule{

          @WrapToScript
          public Integer test() final Object params) {
              return 10;
          }
      }

Я включу вышеупомянутый класс в модуль Easy, используя точку расширения следующим образом:

      <extension
         point="org.eclipse.ease.modules">

      <module
            category="pkg.script.platform"
            class="pkg.script.modules.TestModule"
            id="pkg.script.modules.TestModule"
            name="TestModule"
            visible="true">
      </module>
   </extension>

Groovy скрипт:

      print(test();)

Я вызываю java-модуль, загруженный из groovy, если я напишу некоторую функциональность внутри этого метода test(), он работает нормально, но всегда возвращает Null, даже если я возвращаю некоторое целое число явно. Ожидаемый результат для этого скрипта - 10, но он печатает ноль.

1 ответ

Это произошло из-за того, что код до и после выполнения был добавлен в модуль, который я создал при инициализации движка.

В коде пост-выполнения у нас была переменная с именем result, и Groovy Engine сохраняет свой результат также под тем же именем.

Таким образом, переменная результата была переписана в коде после выполнения.

После переименования имени переменной в коде пост-выполнения проблема решается.

Другие вопросы по тегам