現場で使えるGroovy(その3)「JavaにREPLが無いならgroovysh, groovyConsoleを使えばいいじゃない」
このシリーズの一覧はこちら
はじめに
ご存知の通り、JavaにはREPLがありません。しかし残念がることはありません、そう、あなたにはGroovyが付いています。
Groovyがこれらの特性とJavaとの親和性を高いレベルで同時に実現していることです。
『プログラミングGroovy』P8 より
(中略)
・Javaに極めて近い文法(ほぼ上位互換)
・JavaコードはおおむねそのままGroovyコードとしても動作
(中略)
・JDKの標準ライブラリやサードパーティのライブラリ/フレームワークもすべて共用可能
(中略)
ということで、GroovyのREPLであるgroovyshや、groovyshよりも便利なgroovyConsoleを利用すればJava自体のコード、クラスを素早く動かしてチェックすることができるわけです。
さっそくやってみましょう。
ケーススタディ1:Integerクラスのメソッドの挙動を知りたくなった
さて、それではたとえばIntegerクラスの static String toBinaryString(int i) メソッドの使い方が気になってしまったとしましょう、そんな時は迷わすgroovyshを起動しましょう。
$ groovysh
Groovy Shell (1.8.0, JVM: 1.6.0_26)
Type 'help' or '\h' for help.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
groovy:000>
さて、準備は整いましたね。それではおもむろに使ってみましょう。
groovy:000> Integer.toBinaryString(100)
===> 1100100
groovy:000>
おぉ、1100100 という答えが返ってきましたね。これはもちろんJavaで試した場合も同じ挙動をするはずです。だってIntegerはJava標準ライブラリですからね。
ではお次はgroovyConsoleを使ってみましょう。groovyConsoleの起動方法はいくつかありますが、ここではコマンドラインから起動させてみます。
$ groovyConsole
起動しましたか?ではさっきと同じようにInteger.toBinaryString(100)をやってみましょう。
入力が完了したら、Ctrl + R *1で実行です。
groovyConsoleを使えば少しコードを書き換えて何度も実行してみる時にとても重宝します。
さらに、Groovyの機能もすべてが使えるため、たとえば、1から100で値がどうなるかなどを簡単に調べてみたりすることができます。
また、スクリプトとしてコードを保存できたり、スクリプトを読み込んだりして使うこともできるのです。
すごく便利ですよね?
おわりに
ということで、使い方はあなた次第です。ぜひ実際の現場でもgroovysh, groovyConsoleを常に立ち上げてGroovyのみならずJavaとも戯れてみて下さい!
Enjoy your code more groovier!
参考書籍
Groovyに興味を持った方はぜひこの一冊を購入しましょう!
- 作者: 関谷和愛,上原潤二,須江信洋,中野靖治
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/06
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 302回
- この商品を含むブログ (113件) を見る
*1:Macの場合はCMD + R。