Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
速水 康晴
 Groovyスクリプトの起動について
◦ コンソールから
◦ Java/JVMから
2016-02-20 2#nds46
 速水 康晴(はやみ やすはる)
 新潟市西区在住
 ウイングアーク1st株式会社 新潟オフィス
◦ プログラマ(アーキテクト):Java/Flex/ActionScript
 JGGUG(日本Grails/Groovyユーザーグループ...
 良いですよね?!
◦ Javaっぽく書ける
◦ JavaでScriptできる
 ではスクリプトとして、どうやって呼ぶの?
◦ あまり触れられていない
2016-02-20#nds46 4
 GroovyはASFのトップレベルプロジェクト(TLP)に
 Groovy激動の2015年
◦ 01/19:Pivotalが3/末でのサポート終了を発表
◦ 03/--:Codehausの終了発表
◦ 03/17:Apache Incub...
Hello.groovy
2016-02-20#nds46 6
//配列argsの先頭の内容を表示、無ければworld
println "Hello, ${args.size() > 0 ? args[0] : 'world'}."
 groovyコマンド
◦ スクリプトを実行
◦ 第1引数はファイル名、それ以降は配列argsに
 オプション以外
2016-02-20#nds46 7
$ groovy Hello.groovy Groovy
Hello, Groovy.
 groovyshコマンド
◦ Groovyスクリプトを直接入力して実行
◦ argsは変数として指定
2016-02-20#nds46 8
$ groovysh
groovy:000> args=['Groovy']
===> [Groov...
 groovyConsoleコマンド
◦ GUI版コンソール
◦ スクリプトを入力・編集して実行
◦ argsは指定できない
2016-02-20#nds46 9
$ groovyConsole Hello.groovy
 Groovy組み込み
◦ groovy.lang.GroovyShell
 evaluate()
◦ 変数はgroovy.lang.Bindingに登録
◦ 実行する毎にコンパイルする→繰り返しには向かない
2016-02-20#nds4...
 Groovy組み込み
◦ groovy.lang.GroovyShell
 parse()
◦ コンパイルしてgroovy.lang.Script→繰り返して使える
2016-02-20#nds46 11
Binding binding ...
 Groovy組み込み
◦ 他に
 groovy.lang.GroovyClassLoader
 groovy.util.GroovyScriptEngine
◦ →省略
2016-02-20#nds46 12
 JSR-223
◦ Java6から(javax.scriptパッケージ)
◦ groovy-jsr223モジュールが必要
 org.codehaus.groovy:groovy-jsr223:2.4.5
◦ 他言語と切り替えて使う場面なら...
 Bean Scripting Framework
◦ Apache
◦ groovy-bsfモジュールが必要
 org.codehaus.groovy:groovy-bsf:2.4.5
◦ 使ってる?
◦ →省略
2016-02-20#n...
 Grengine
◦ http://www.grengine.ch
 ch.grengine:grengine:1.0.5
◦ ch.grengine.Grengine
 変数はgroovy.lang.Bindingに登録
◦ コンパイ...
Prochain SlideShare
Chargement dans…5
×

Groovyスクリプト"再"入門 起動編

2016/2/20にNDS46で発表した内容です。

  • Identifiez-vous pour voir les commentaires

  • Soyez le premier à aimer ceci

Groovyスクリプト"再"入門 起動編

  1. 1. 速水 康晴
  2. 2.  Groovyスクリプトの起動について ◦ コンソールから ◦ Java/JVMから 2016-02-20 2#nds46
  3. 3.  速水 康晴(はやみ やすはる)  新潟市西区在住  ウイングアーク1st株式会社 新潟オフィス ◦ プログラマ(アーキテクト):Java/Flex/ActionScript  JGGUG(日本Grails/Groovyユーザーグループ) ◦ サポート・スタッフ  E-mail:toby55kij@gmail.com  Twitter:toby55kij 32016-02-20#nds46
  4. 4.  良いですよね?! ◦ Javaっぽく書ける ◦ JavaでScriptできる  ではスクリプトとして、どうやって呼ぶの? ◦ あまり触れられていない 2016-02-20#nds46 4
  5. 5.  GroovyはASFのトップレベルプロジェクト(TLP)に  Groovy激動の2015年 ◦ 01/19:Pivotalが3/末でのサポート終了を発表 ◦ 03/--:Codehausの終了発表 ◦ 03/17:Apache Incubator入り ◦ 09/24:バージョン2.4.5リリース ◦ 11/18:Incubator卒業、TLPに 2016-02-20 5#nds46
  6. 6. Hello.groovy 2016-02-20#nds46 6 //配列argsの先頭の内容を表示、無ければworld println "Hello, ${args.size() > 0 ? args[0] : 'world'}."
  7. 7.  groovyコマンド ◦ スクリプトを実行 ◦ 第1引数はファイル名、それ以降は配列argsに  オプション以外 2016-02-20#nds46 7 $ groovy Hello.groovy Groovy Hello, Groovy.
  8. 8.  groovyshコマンド ◦ Groovyスクリプトを直接入力して実行 ◦ argsは変数として指定 2016-02-20#nds46 8 $ groovysh groovy:000> args=['Groovy'] ===> [Groovy] groovy:000> :load Hello.groovy ===> true Hello, Groovy. ===> null
  9. 9.  groovyConsoleコマンド ◦ GUI版コンソール ◦ スクリプトを入力・編集して実行 ◦ argsは指定できない 2016-02-20#nds46 9 $ groovyConsole Hello.groovy
  10. 10.  Groovy組み込み ◦ groovy.lang.GroovyShell  evaluate() ◦ 変数はgroovy.lang.Bindingに登録 ◦ 実行する毎にコンパイルする→繰り返しには向かない 2016-02-20#nds46 10 Binding binding = new Binding(); binding.setVariable("args", args); GroovyShell shell = new GroovyShell(binding); shell.evaluate(new File("Hello.groovy"));
  11. 11.  Groovy組み込み ◦ groovy.lang.GroovyShell  parse() ◦ コンパイルしてgroovy.lang.Script→繰り返して使える 2016-02-20#nds46 11 Binding binding = new Binding(); binding.setVariable("args", args); GroovyShell shell = new GroovyShell(); Script script = shell.parse(new File("Hello.groovy")); script.setBinding(binding); script.run();
  12. 12.  Groovy組み込み ◦ 他に  groovy.lang.GroovyClassLoader  groovy.util.GroovyScriptEngine ◦ →省略 2016-02-20#nds46 12
  13. 13.  JSR-223 ◦ Java6から(javax.scriptパッケージ) ◦ groovy-jsr223モジュールが必要  org.codehaus.groovy:groovy-jsr223:2.4.5 ◦ 他言語と切り替えて使う場面なら、、、 2016-02-20#nds46 13 ScriptEngineManager factory = new ScriptEngineManager(); ScriptEngine engine = factory.getEngineByName("groovy"); engine.put("args", args); try (FileReader reader = new FileReader(new File("Hello.groovy"))) { engine.eval(reader); }
  14. 14.  Bean Scripting Framework ◦ Apache ◦ groovy-bsfモジュールが必要  org.codehaus.groovy:groovy-bsf:2.4.5 ◦ 使ってる? ◦ →省略 2016-02-20#nds46 14
  15. 15.  Grengine ◦ http://www.grengine.ch  ch.grengine:grengine:1.0.5 ◦ ch.grengine.Grengine  変数はgroovy.lang.Bindingに登録 ◦ コンパイル結果をキャッシュ、変更されたら再コンパイル 2016-02-20#nds46 15 Grengine engine = new Grengine(); Binding binding = engine.binding("args", args); engine.run(new File("Hello.groovy"), binding);

×