-Groovy(グルービー)は、Java仮想マシン上で動作するスクリプト言語です。コンパイル不要でプログラムを手軽に実行できます。その構文はRubyから大きな影響を受けており、柔軟なプログラムを作成することができます。今回はGroovyの使い方や簡単なプログラムを紹介します。人気のスクリプト言語「Groovy」とはGroovyは、Java仮想マシン(JVM)上で動くオープンソースの言語です。オープンソースのプロジェクトを支援する団体であるApacheソフトウェア財団によって管理されています。McWhirterを中心にして、2003年に開発されました。人気があり、原稿執筆時点の2019年9月、TIOBEによるランキングでも11位以にランクインしています。その人気の理由ですが、Java仮想マシン(JVM)上で動作する動的スクリプト言語であるという部分にあります。JVMで動作するため、強力なJavaのAPIをはじめ、Javaで作成した膨大で豊富なライブラリを気軽に利用することができます。Rubyや他のスクリプト言語のような、動的なスクリプト言語であるため、コンパイル作業を行うことなくプログラムをすぐに動かすことができます。動的に実行するだけでなく、groovycコマンドを使うことで、GroovyのプログラムをJavaのクラスファイルにコンパイルし、出力することができます。JavaのライブラリをGroovyだけで作成することもできるのです。GroovyはJavaの文法を大幅に簡易化したものと言えます。そのため、Javaに慣れているなら、Groovyも比較的簡単に使えるようになるでしょう。大きな違いとしては、変数の型宣言が不要なことや、メソッド呼び出しの括弧や行末のセミコロンが省略できることなどが挙げられます。いずれも、Javaを書いていて面倒だと思われる点が、大きく改善されている印象があります。Groovyの利用用途ですが、Web開発やAndroidアプリの開発、プログラムのテストやバッチ処理など、様々な場面でGroovyが使われています。Groovyをインストールしてみようそれでは、早速Groovyをインストールしてみましょう。Groovyを使うには、Javaのインストールが必要となります。GroovyはJava仮想マシン上で動くという特徴のためJavaは必須です。原稿執筆時点の安定バージョンである、2.5.8を利用する場合、Java6以上(Java8が推奨されている)をインストールする必要があります。こちらから最新のJavaをインストールしましょう。【Windowsの場合】Javaをインストールしたら、その上で、公式サイトからGroovyをダウンロードしましょう。bundleバージョンをダウンロードしましょう。ダウンロードしたZIPファイルを解凍します。WindowsでGroovyが動くようにするには、環境変数の「JAVA_HOME」と「GROOVY_HOME」の二つを正しく設定する必要があります。Windows10であれば、Windowsメニューより「設定」ボタンをクリックします。「Windowsの設定」が出たら、検索ボックスに「環境変数を編集」と入力します。[新規]のボタンを押して、環境変数を追加します。ここで、変数名に「JAVA_HOME」と記入し、変数値には、Javaをインストールしたフォルダのパスを指定します。同様の方法で、「GROOVY_HOME」を作成し、そこには、Groovyをインストールしたフォルダのパスを指定します。環境変数JAVA_HOMEとGROOVY_HOMEを設定する必要があります【macOSの場合】macOSでも、最初にJavaをインストールします。その上で、ターミナル.appを開き、コマンドラインからHomebrew経由でインストールするのが簡単です。最初にHomebrewをこちらからインストールします。以下のコマンドを実行してGroovyをインストールしましょう。Consoleは、Groovyに標準で同梱されている簡易開発環境です。これを使うと、プログラムを記述した後、実行ボタンを押すと、すぐにプログラムを実行できます。結果をすぐに確認することができるのでオススメです。Consoleを起動するには、Windowsでは、Groovyのbinフォルダの中にある「groovyConsole.bat」をダブルクリックします。macOSでは、ターミナルで「groovyConsole」と打ち込んでみましょう。Consoleが起動します。簡単な以下のプログラムを実行してみましょう。Run]をクリックすると、記述したプログラムをすぐに実行できます。4プログラムを実行すると、以下のように表示されます。GroovyConsoleを起動するとエディタが起動しますGroovyらしいプログラム続けて、簡単でGroovyらしいプログラムを紹介します。1から10までの数を加算するプログラムは、以下のように記述できます。}』のように記述することで繰り返し処理を記述できます。このとき、ループ変数は、自動的に変数itとなります。注目したいのは、特に変数定義をしなくても、変数nを初期化して利用できている点です。0」と変数型をintと宣言した後、値を初期化することもできます。FizzBuzz問題を解いてみよう続けて、いつも本連載でやっているように、FizzBuzz問題を解いてみましょう。FizzBuzz問題とは以下のようなプログラムです。1から100までの数字を出力する際に、3の倍数の時「Fizz」、5の倍数の時「Buzz」、3と5の倍数の時「FizzBuzz」と表示するプログラムを作って下さい。Groovyで作成したFizzBuzzのプログラムは以下の通りです。Consoleでプログラムを実行すると、以下のように結果が表示されます。ConsoleでFizzBuzz問題を求めるプログラムを実行したところどうでしょうか。非常に簡潔にFizzBuzz問題を解くことができました。詳しく見ていきましょう。(*1)の部分では、FizzBuzzの各値を判定する関数を定義しています。Groovyでは最後に指定した値が関数の戻り値となります。(*2)の部分では先ほど見たように、eachメソッドを利用して、繰り返し数値をFizzBuzz判定して出力するというものになっています。まとめ以上、今回は、Java仮想マシン上で動くスクリプト言語のGroovyについて紹介しました。Rubyのように柔軟でありながら、JavaのAPIや過去に作ったJavaのライブラリを手軽に利用できるのがメリットです。Groovyのライバルとしては、同じJava仮想マシンで動くKotlinやScalaの存在を挙げることができます。いずれの言語も、Javaをより簡単に記述することを目標に開発されています。Kotlinと同じように、Groovyも公式でAndroidアプリの開発をサポートしていると明言しています。Groovyのような柔軟な言語でAndroidアプリの開発が出来るのは嬉しい点です。Javaの資産を活かしつつ、柔軟なプログラムが作れるGroovyは今後も様々な場所で使われていくことでしょう。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。テキスト音楽「サクラ」など。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。