より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

Groovyなんて触ったことないよ!慌てて学習!

Script Runner for JIRAを導入する事になったのですが、

Extend and Automate JIRA via built-in or your own customised groovy scripts

Introductionより

Groovyなんて触った事ないよ!

と。

GroovyとはJava Platformで動作する動的型付け言語です。

以下のWikiも参考になります。

ja.wikipedia.org

defでの変数・関数の宣言、each,timesのループ記述が使えるあたりRubyっぽい印象を受けました。

groovy-lang.org

Let's Code

公式ページでは、Groovyのインストール・環境構築方法が紹介されていますが、手元で環境構築することは私には重要ではないので、以下のREPLを活用させていただきました。

groovy-playground.appspot.com

f:id:rimever:20210118181510p:plain

ただ、残念なのは、Groovy3.0以上ではないのか、一部の新しい記法が失敗しました。

f:id:rimever:20210118183337p:plain
def array2 = new int {1, 2, 3}ではエラーになる。int array = [1, 2, 3]を使うことになる

とはいえ、配列は「def items = [4,5]」の記述も使えますね。

どんな言語でも動かせるRepl.itも対応しておらす、Groovy web consoleも同様に3.0以上の記法は失敗しました。

後は、先ほど紹介したWikipediaと合わせて、以下あたりを動かしていきました。

トリッキーな仕組みは自分には必要ないので、必要そうなところだけをつまみ食いして、コードを書いて動かしながら手で覚える感じです。

特に以下

The Apache Groovy programming language - Semantics

後は、ほどほどに。

The Apache Groovy programming language - Syntax

The Apache Groovy programming language - Operators

The Apache Groovy programming language - Object orientation

Closureは慣れてくると、書くのが楽ですが、初見殺しなので保留ですかね。

The Apache Groovy programming language - Closures