groovy

GradleのプロジェクトでGroovy Consoleを起動する

GradleのプロジェクトでGroovy Consoleを起動できると、gradleプロジェクトで依存するライブラリとプロダクトコードをクラスパスにロードした状態で、ちょっとしたコードの動作を試せるようになる。 build.gradleに以下を追加してgradle consoleを実行する。…

SpockでビルトインされているExtensionsとかそのへん

G* Advent Calendar 2012 12日目担当のyamkazuです。こんにちは。今日はみんな大好きSpockでビルトインされている機能拡張について、いくつかピックアップして紹介します。機能拡張にカテゴライズされないものもあるかもしれませんが、その辺はゆるやかに。…

Spock0.7で追加されたStubについて

Spock0.7でStubを作る機能が追加されました。 http://docs.spockframework.org/en/latest/interaction_based_testing.html#stubsMockとの違いはデフォルトで返す値が違うとのこと。mockはnullを返しますがstubでは プリミティブ型以外の数字系は0 デフォルト…

Groovy2.0で追加された@NotYetImplemented

元ネタ http://blog.andresteingress.com/2012/03/04/using-notyetimplemented-in-test-cases/@NotYetImplementedとそのテストメソッドは失敗しなくてはいけなくて、逆に成功してしまうと検証エラーとして扱われるみたい。 class EchoService { def echo(arg…

Groovy2.0で追加されたMatcher#matchesPartially

元ネタ http://mrhaki.blogspot.fr/2012/06/groovy-goodness-partial-matches.htmlAPIはこのへん。 http://groovy.codehaus.org/groovy-jdk/java/util/regex/Matcher.html#matchesPartially()なかなか説明が難しいのですが、とある文字列があって、その文字…

Groovy2.0でListに追加されたwithDefault、withEagerDefault、withLazyDefault

withDefaultはwithLazyDefaultのエイリアスなので機能的にはwithEagerDefault、withLazyDefaultが追加されました。今までmapには似たようなのがありましたが、今回Listにも追加されました。それぞれ要素を取得した際の要素のパディング方法や、nullの扱いが…

Groovy2.0のtakeWhileとdropWhile

元ネタ http://blog.bloidonia.com/post/26065074691/whats-new-in-groovy-2-0-takewhile-and-dropwhile特定の条件を満たしている間までの要素をコレクションとして取得するtakeWhileと、特定の条件を満たしている間までの要素を落としたコレクションを取得…

Groovy2.0でinject

元ネタ http://blog.bloidonia.com/post/26065857945/whats-new-in-groovy-2-0-inject-with-defaultgroovy2.0からinjectの初期値の指定を省略するとCollectionの先頭要素を初期値として処理してくれるようです。 def items = [1, 2, 3, 4, 5] // 1.8.6まで a…

Collateでサブリストを作る

1.8.6からListにcollateのメソッドが4つ追加されています。 http://groovy.codehaus.org/groovy-jdk/java/util/List.html#collate(int)これを使うと簡単にサブリストが作れる。

Intellij IDEA の GroovyShell が便利

ちょっと今更感がありますが11.1からGroovyShellがIntellij上で使えます。 http://blogs.jetbrains.com/idea/2012/04/groovy-support-improvements-in-intellij-idea-111/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+jetbrains_intellijid…

Groovyで合成関数

http://d.hatena.ne.jp/Kazuhira/20120415/1334486571 によるとgroovyで合成関数ができるらしい。って思ったら青い本にちゃんと書いてあった。プログラミングGROOVY作者: 関谷和愛,上原潤二,須江信洋,中野靖治出版社/メーカー: 技術評論社発売日: 2011/07/06…

EclipseでGroovyServを使えるようにした。

http://www.infoq.com/jp/articles/groovyservここに書いてある通りなんですが、ちょっとだけ補足。 ショートカットを設定するときはGeneral>KeysからRun the last launched external Toolを使うみたいです。文字通り最後のExternal Toolの実行を繰り返すの…

Groovyでbit.lyのショートURLを取得

groovy勉強中です。 要groovy1.7。 #!/usr/bin/env groovy LOGIN='yamkazu' APIKEY='R_xxxxxxxxxxxxxxxxxxxxxx' VERSION='2.0.1' FORMAT='json' if (args.size() != 1) { println 'usage: ./bitly.groovy http://example.com/' System.exit(1) } GET = "http…

ValueDomainのダイナミックDNSを更新するGroovyスクリプト

参考: http://blog.iwa-ya.net/2009/10/13/114906groovyを勉強中なのでgroovyで書いてみた。 def domain = 'example.com' def password = 'xxxxxxx' def hosts = ['*','@'] newIpAddress = new URL('http://dyn.value-domain.com/cgi-bin/dyn.fcg?ip').getTe…