[はじめようApache Groovy] #02 - はじめてのApache Groovy

こんにちは!なるーらぼです。前回はApache Groovyについて概要をお話ししてきました。

インストールもばっちりですよね!今回はGroovyスクリプトを書いてみたいと思います。


Groovyスクリプト

Groovyスクリプトは何ら変哲のないテキストファイルです。拡張子は「.groovy」にすることが多い気がしますが、「.txt」などでも大丈夫です。お使いのテキストエディタが構文によってハイライトしてくれる機能があるようでしたら、拡張子は「.groovy」にしておいたほうがいいでしょう。それでは最初のGroovyを書いていきたいと思います。


まず、次のコードをご覧ください。

class Hello{
 public static void main(String[] args){
  System.out.println("Hello");

 }

}

どこからどう見てもJavaです。Rubyなどは勉強したことがあるけど…という方には長ったらしい記述かもしれません。前回ちらりとお話ししましたとおり、GroovyはJavaのコードをそのまま実行することができます。まだコンパイルもしていませんが、これは「groovy」コマンドで実行することができます。上記のコードが「hello.groovy」だったとすると、

groovy hello.groovy

で実行することができます。


Groovyの書き方へ

さきほどのコードは完全なJavaのコードです。しかしここで学ぶべきはGroovyです。ということでさきほどのコードをGroovyにしていきたいと思います。まず最初に、Groovyでは行末のセミコロン「;」を省略することができます。ですからコードからセミコロンは削除することができます。それに、「System.out.println」はGroovyにおいて別名がつけられていて、「println」を代わりに使うことができます。

class Hello{
 public static void main(String[] args){
  println("Hello")

 }

}

さらに、クラス「class」は必ずしも定義する必要がありませんし、エントリポイントと呼ばれるプログラムの入り口、ここでは「main」という箇所の記述も不要です。すると、こうなります。

println("hello")

かなり短くなってきましたね。それでもまだいけます。引数が1つだけのときは丸括弧も省略することができます。ということで、最終的にはこうなりました。

println "Hello"

pythonやperlなどの記述にかなり近づいてきましたね。Groovyにおいてはここまでご覧いただいたような仕様により、Javaをスクリプトのように記述することができます。


はじめてのGroovy

ということでご覧いただいたのは、ターミナルなど標準出力へテキストを出力するためのメソッド「println」に「Hello」というテキストをわたしてそれを表示させるというコードサンプルでした。もうここまでご覧いただいただけでもJavaとしても記述することができるし、スクリプト用途でも利用することができるので便利だな!と思っていただけると掴みとしていい感じです。なお、先ほどのサンプルは「hello.groovy」というファイル名にしていましたが、「hello.txt」でも動作します。


もしもJavaをいままでもご利用で、コンパイルしてクラスファイルにしておきたい!という方のために補足をしておきます。先ほどのファイルはクラスファイルにすることができます。ただし、実行するときには「groovy」コマンドではなく「java」コマンドになります。

まずコンパイルから行きましょう。コンパイルするには「groovyc」コマンドを使います。

groovyc hello.groovy

すると、同じフォルダへ「hello.class」というファイルが作成されたと思います。これがJavaのクラスファイルです。実行のときにはクラスパスにGroovyの本体を追加する必要があります。よって実行は以下のようにします。

java -cp ".:/Users/path/to/groovy/lib/groovy-2.4.6.jar" hello

このようにすることで実行することができます。上記の例ではUnix系で動作し、Windowsではドット記号と次のパス部分をコロンではなくセミコロンで区切ってください。


最後に

今回ははじめてGroovyスクリプトを書いてみました。

次回からは少しずつプログラミング要素についてお話ししていきます。

もんが(なるーらぼ)

個人でプログラミングの学習サイト「なるーらぼ」を運営しています。
https://nalu-labo.amebaownd.com
PowerShell入門の電子書籍2冊も出版しています。
http://www.amazon.co.jp/dp/B017LJOCJ2

なるーらぼ

ごく自然にプログラミングを楽しむことができる世界をつくるお手伝いをしています

0コメント

  • 1000 / 1000