--- type: exercise template: document slug: exercise-groovyshell image: tags: - groovy - exercise --- Appeler un script Groovy depuis Java ==================================== ## Abstract Dans cet exercice, nous allons voir comment appeler un Script groovy depuis Java. ### Créer un script Groovy d'exemple Créer un script Groovy retournant une valeur numérique ou une chaine de caractères. ### Créer une classe Java GroovyCall Créer une classe GroovyCall avec une méthode `main()`. A partir de cette méthode nous allons appeler le Script Groovy de plusieurs manières. ### Utiliser la fonction Eval En préambule de l'exercice, nous allons utiliser la classe Eval pour exécuter des opérations simples. Ecrivez le code suivant : ```java Eval.me("2+3+4"); ``` * Quel type de données est retourné par la méthode ? * Quelle valeur à l'exécution est retournée ? ```java Eval.me("println 'toto' "); ``` * Qu'est ce qu'a retourné le script ? Est ce que le message est apparu ? ```java Eval.x(4,"2+3+x"); ``` Quel est l'utilité de la méthode `x`ainsi que de xyz ? ### Utilisation de la classe GroovyScriptEngine. Adaptez le code suivant pour exécuter votre script : ```java String path = "chapter-working-with-groovy/exercise-groovyshell/src/test/resources"; final GroovyScriptEngine gse = new GroovyScriptEngine(path); final Object result = gse.run("Script1.groovy", new Binding()); assert result == "Hello world"; ``` * A quoi sert l'objet Binding ? **Source** [https://exercism.org/tracks/groovy/exercises/robot-name/solutions/KirillArtamonov](Exercise).