Groovy

Oracleで「ORA-01882」が出たので対処した

障害内容 あるJavaアプリケーションを実行しようとしたら以下の例外が発生。java.sql.SQLException: ORA-00604: 再帰SQLレベル1でエラーが発生しました。 ORA-01882: タイムゾーンのリージョンが見つかりません。 環境 OS Red Hat Enterprise Linux Server r…

Groovyがインストールされていない環境での実行ではまった

1.8から以下のように実行する事でGroovyがインストールされていない環境でもGroovyを直接実行することができるようになりました。 (1.7以下でもできたみたいですが、面倒だった?) java -jar C:\groovy\groovy-1.8.6\embeddable\groovy-all-1.8.6.jar c:\w…

Groovyでインスタンス生成時のフィールドの初期化

Groovyではnewする際に、Mapを渡すことでフィールドに値を設定することができます。 当然渡されなかったフィールドは各型の初期値になります。 また、「TupleConstructor」というアノテーションを付けるとAST変換が行われ、コンストラクタのように引数を渡す…

リストの内容比較

しばらくGroovyをいじっていなかったのでリハビリがてらid:fumokmm さんのお題を解くよ!お題:リストの内容比較 http://d.hatena.ne.jp/fumokmm/20101023/1287835025 二つのリスト(左・右)の内容を比較し、片方にしかないものと両方に在るものを出力する…

Listの範囲を指定する際に変数を使おうとしてしばらくハマったのでメモ

括弧です括弧!! def list = [1,2,3,4,5] def i = 2 def j = 3 assert list[(i)] == 3 assert list[(i)..(j)] == [3,4] def map = [a:"aa", b:"bb", c:"cc"] def s = "a" assert map[(s)] == "aa" 前もmapの時にはまったんだよなぁ。。。括弧です括弧!! G…

文字列を先頭から見て同じところまで除去

ちょっと時間が開いてしまったけど、id:fumokmm さんが出題しているお題をこなしていくよ!今回のお題はこちら↓ お題:文字列を先頭から見て同じところまで除去 http://d.hatena.ne.jp/fumokmm/20110812/1313138407 複数の文字列を受け取り、受け取った文字…

クロージャー内のクロージャーで親のクロージャーを再帰的に呼ぶ方法は?

タイトルが既によくわからない。ネストしているクロージャーで親のクロージャーを呼べないか?と言うこと。 まぁ、コード見てください。フォルダ内の全てのファイル名を出力 def f = {} f = { if (it.isFile()) { println it } else { it.eachFile{ f(it) } …

除算の結果には「%」が使えない

なんか訳のわからないエラーが出てテンパッて、解析してみたら大したことなかったという例。 クロージャの再帰処理とか初めて挑戦してる所で出くわしたので、原因突き詰めるのに時間かかっちゃいました orz def i = 4 / 2 assert i.class == java.math.BigDe…

考えてみれば当たり前だけど(1..100)などの範囲は普通のリストじゃない

飽きもせずにFizzBuzzについて考えていたら、 普通の考えるように、カウントしていって特定の値の時に文字を使用するのではなくて、 最初に数字をリストに入れといてがあって、倍数のとこだけ文字列入れればいいんじゃね?って事を思いついた。そういえば、…

FizzBuzzの最短コードの解析

前の記事でFizzBuzzの最短コードを紹介しました。 一見よくわからない変態コードですが、詳しく見るとそんなに難しい訳じゃなかったです。問題のソースコード http://d.hatena.ne.jp/y_tag/20110125/fizzbuzz 100.times{println'Fizz'*(it%3/2)+'Buzz'*(it%5…

FizzBuzzをGroovyで書いてみた

明日は楽しみにしていたJGGUGなので、復習の意味を込めてGroovyでFizzBuzzを書いてみた。ちなみにFizzBuzzとはこんな感じ。 1 から順に数を数えていく。但し、その数が 3 で割り切れるならば数字の代わりに Fizz と、5 で割り切れるなら Buzz と言うゲーム。…

SwingBuilderでLabelとかにconstraintsを後付するにはどうすれば?

Groovyが楽しいのでいじり倒してる今日この頃なんですが、 1番勉強になるのは何か作ることという事で、丁度作成中だったオレオレツールのクライアント部分をSwingBuilderで作っています。で、今回詰まったところ。 panelとかlabelに一回定義してからconstrai…

Groovyインアクションを購入

これまた某所でGroovyのLTを見ました。 その時はヘーで終わったんですが、色々あって触ってみたところ。。。 面白いwwwとは言ってもまだ全然慣れていませんが、Javaのソースコードをそのまま使えるのもいいですね。 (○○.javaを○○.groovyに変えればGroove…