Я прочесываю groovy doc и не нашел аналога, но вещи там организованы немного беспорядочно. Я переключаюсь с beanshell на groovy и использовал метод source ("fileloc") в beanshell для inline-include других, скриптов утилиты beanshell для повторного использования. Существует ли стандартная функция, чтобы сделать это в хорошем или лучшем виде?Есть ли существенный эквивалент метода beanshell source()?
1
A
ответ
5
Вы можете собрать все части ваших скриптов в строку, а затем объект GroovyShell оценить ваш скрипт. Я выбрал это из примеров DSL от Venkat Subramanium.
part1 = new File("part1.groovy").text
part2 = new File("part2.groovy").text
script = """
println "starting execution"
${part1}
${part2}
println "done execution"
"""
new GroovyShell().evaluate(script)
1
Причина, по которой вы не находите это, заключается в том, что Groovy скомпилирован. Ваш код Groovy скомпилируется в байт-код Java, который запускается JVM прямо рядом с любым Java-кодом в вашем приложении. Вот почему такие вещи, как написание модульных тестов Groovified для больших тел кода Java, требуют дополнительных усилий.
The BeanShell - это Java-подобный язык , который интерпретирует язык, поэтому разрывание в другом полученном коде во время выполнения не имеет большого значения.
Это, возможно, вас заинтересует groovysh и его load
.
Смежные вопросы
- 1. Есть ли эквивалент Source Outliner для Java?
- 2. beanshell эквивалент продолжения
- 3. Beanshell эквивалент для .Net
- 4. Существенный эквивалент для coxme в R?
- 5. Есть ли эквивалент Clojure метода #tap Ruby
- 6. Есть ли эквивалент метода $ .get() в PHP?
- 7. Есть ли эквивалент C# для метода findWithinHorizon
- 8. Есть ли javascript эквивалент метода __getattr__ python?
- 9. Есть ли рубиновый эквивалент метода Array.prototype.every javascript?
- 10. Есть ли эквивалент Objective C метода JavaScript()?
- 11. Есть ли эквивалент open source ServiceStack AutoQuery для ядра asp.net?
- 12. Есть ли эквивалент open-source для Amazon S3?
- 13. Есть ли эквивалент super.super()?
- 14. Есть ли ⇧ есть эквивалент?
- 15. Есть ли эквивалент метода Java equals в C++?
- 16. Есть ли у JavaScript эквивалент метода DESTROY от Perl?
- 17. Есть ли эквивалент find_first_of метода строки C++ в javascript
- 18. Есть ли эквивалент метода $ .connection.hub.start(). Done() Javascript для приложения WPF?
- 19. Есть ли эквивалент метода извлечения MySQL в Apache Derby?
- 20. Есть ли эквивалент F # для этого метода расширения C#?
- 21. Есть ли эквивалент ruby любого метода в javascript?
- 22. Есть ли эквивалент метода WorkingMemory.assertObject в Drools 6.0.1?
- 23. Есть ли эквивалент метода canvas toDataURL для SVG?
- 24. Есть ли эквивалент CURLOPT_POSTFIELDS для метода GET в запросе CURL?
- 25. Есть ли рубиновый эквивалент метода php __invoke magic?
- 26. Есть ли эквивалент метода Rhino Mocks .Do() в Moq?
- 27. Есть ли эквивалент Knockoutjs метода Wpf/Silverlight notifyPropertyChanged?
- 28. Есть ли эквивалент в C# для метода Java getGlyphOutline?
- 29. Есть ли эквивалент C# для метода BlockingQueue.drainTo (Collection) Java?
- 30. Существенный дизайн Ripple Event