LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

GroovyでHello World

Last updated at Posted at 2015-12-08

今日の目標

Groovyとお知り合いになる

使うもの

参考にしたサイト

まずGroovyとは

Groovy(グルービー)は、Javaプラットフォーム上で動作するアジャイルな動的プログラミング言語である。
Groovy の処理系はオープンソースソフトウェアであり、James Strachan と Bob McWhirter らを中心に、オープンソース開発サイトであるコードハウス上で、2003年8月27日に開発が開始された(CVSへの最初のコミットがなされた)。その後、開発の主体は Guillaume Laforge と Jeremy Rayner らに移り開発が続けられている。2015年3月31日までは Pivotal がスポンサー企業となり、開発者をフルタイム雇用していたが、3月末を持って終了し、Apacheソフトウェア財団の管理に移行する。

だからdownloadしたファイル名がapache-groovyなのか!(今知った
ということでJVM上で動くため、実行環境としてはGroovyとJDKさえあればOKらしいです。今回も、もともとJDKは用意してあったため、Groovyをダウンロードしてくるだけで動きました。

ではスタート

Groovyをダウンロード

まずは上記のリンクからGroovyの最新バージョンをダウンロードする。

Groovyを環境変数にセットする

GROOVY_HOMEとPATHをセット!

  • GROOVY_HOME = Groovyを展開した場所
  • PATH = %GROOVY_HOME%\bin

groovyConsole.batを実行する

ダウンロードしたbin配下にgroovyConsole.batといった実行ファイルがあり、それを実行するとシンプルなコンソールが表示されます。
groovy1.png

今回はこれでGroovyとHelloします。

GroovyとHello

hello.groovy
new Hello("groovy", "torinist").sayHello()

class Hello {
    def msg
    def person

    Hello(str, pers) {
        msg = str
        person = pers
    }

    def sayHello() {
        println "Hello," + msg + " and " + person + "!"
    }
}

クラスを定義したり、コンストラクタ作ったり、インスタンス作ってメソッド実行したりと、Javaをやったことがある人にとってはおなじみの書き方ですな。
これの実行結果は以下のようになります。
groovy2.png

クロージャーとやらを使って変数に関数を入れて実行できたりもする。

helloclosure.groovy
sayHello = {
    msg, person -> "Hello," + "${msg}" + " and " + "${person}" + "!"
}

sayHello("groovy", "torinist")

groovy3.png

javaのメソッド等もimportすれば使えるみたいなので、DB接続も可能とのこと。何というか、いまさらながらGroovyに宇宙を感じる…。ユニバァース。

今日の目標はGroovyとお知り合いになることなので、このへんで。
結構面白い。Groovyちょっとやってみようかなあと思う。GroovyってIDEあるかな。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up