closure
Wed, January 27, 2010
条件判定にクロージャを利用(改良版) groovy
昨日クロージャを使った条件判定についてエントリー書いたのですが、 その後、この方法より多少はよいと思われる別の書き方を思いついたのでメモ。
Tue, January 26, 2010
条件判定にクロージャを利用 groovy
たとえば、無数の点が平面上に存在していて、 その点と点の関係を調べてグループ分けしたい、という問題を解く場合。
考えられるグループは...
- 近くにある点のグループ
- 縦に揃っている点グループ
- 横に揃っている点グループ
- ある図形の上に存在している点のグループ(星座のように)
などが考えられます。
点に対するグループの分け方ルールは無数に存在するので、 思いつきでどんどんルールを追加・変更できるように設計しておきたい。
こういう場合に、普通のJava的発想では、 点同士の関係を解析する IAnalyzer インターフェスを定義して... という発想になってしまうのですが、 GroovyのClosureを使えばもっとスマートに速く問題を解決できそうです。