色々、気付いたことを載せて行きます。新しいものが上。
まとまったら別のページに移動させることもあるかもしれません。
Groovy の switch は、スゲー便利。
switch (x) { case 0: println "x = 0" break case "abc": println "x = 'abc'" break case [7, 'Z']: println "x is 7 or 'Z'" break case ~/\d+/: println "x is Digit String" break case String: println "x is String" break case 10..20: println "x is 10 between 20" break }
やるな。
これを使うと、既存のインスタンスに機能を拡張できる。
いわゆる Mix-in というやつか。
class NumberCategory { static Distance getMeters(Number self) { new Distance(number: self) } } use(NumberCategory) { println 300.meters }
おぉ、なんかすげぇ。
Groovy では、Annotation 一つで簡単に Delegate を定義できる。
def jsonUser String getScreenName() { jsonUser.getScreenName() } String getName() { jsonUser.getName() } ...
今までこう書いていたのを、Groovy では以下で良い。
@Delegate User jsonUser
うーん、素晴らしい。
以下のように記述すると、それはListクラスのインスタンスになる。
columnNames = [ "COUNTRY", "WIN", "LOST", "EVEN" ]
配列にしたかったら、以下のようにする。
String[] columnNames = [ "COUNTRY", "WIN", "LOST", "EVEN" ]
tableModel.addRow("a", "b")
これで良い。
Swing の中で使える Widget 一覧 http://groovy.codehaus.org/Categorical+Widget+List