saba1024のブログ

どうでも良い思いついた事とかプログラミング関係のメモとか書いていきます。

Groovy

Groovyでお手軽にカレンダーを生成する

Groovyだと、2つの日付同士のレンジが..で生成できるので非常にお手軽にカレンダーを生成することが出来ます。 うるう年もちゃんと考慮されるので、例えば以下のようなことが出来ます。 String df = "yyyy/MM/dd" // うるう年のある年 Date date1 = Date.par…

GroovyのGrape/Grabでdownload failedが発生する際の対処方法

Groovyでは、プログラムの実行時にMavenリポジトリから自動的に依存ライブラリのダウンロード、クラスパスの設定まで行ってくれるGrape/Grabという機能が有ります。 使い方自体は簡単で、コードの先頭に、 @Grab('org.apache.solr:solr-core:6.6.0') @Grab('…

Groovyで簡単なS式をパースするサンプル

無駄に複雑なコードになってしまっていますが、一応四則演算は実行できるS式のパーサが出来ました。 間違いなくもっとスマートな方法があるはずですが(普通にググれば10行程度でRubyで実装している方もいらっやいます)、今まで基本的にWebプログラミングし…

Ratpackを使ってJsonBuilderとJsonSlurperを試す

概要 GroovyでJSONを生成する(JsonBuilder)という記事と、 GroovyでJSONをパースする(JsonSlurper) という記事を書きました。 それぞれ独立して紹介しても実際にどういう場合に使うの?というイメージが湧きづらいので、実際にRatpackを使って簡単なWeb…

GroovyでJSONをパースする(JsonSlurper)

概要 JsonBuilderを使えば、Groovy上で簡単にJSONを生成できますが、同様に既存のJSON(テキスト)を解析してGroovyで扱う事も非常に簡単です。 そのためには、JsonSlurperというクラスを利用します。 使い方 本当に簡単なので以下のソースを見て頂ければ一…

Groovyの不思議なメソッド「call」

概要 通常のクラスであれば、インスタンスをnewで生成して、メソッドを呼び出します。 class Hoge { def test(String message) { "${message} in Hoge#test" } } def hoge = new Hoge() assert hoge.test("test") == "test in Hoge#test" Groovyのクロージャ…

GroovyでJSONを生成する(JsonBuilder)

GroovyのコードとしてJSONを生成する 特に難しい内容ではないのですが、自分で使う時に毎回ググっているので備忘録として纏めます。 JsonBuilderというGroovy標準のクラスを利用することで簡単にJSONを生成することが出来ます。 import groovy.json.* def js…