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 сохраняет свой результат также под тем же именем.
Таким образом, переменная результата была переписана в коде после выполнения.
После переименования имени переменной в коде пост-выполнения проблема решается.