読者です 読者をやめる 読者になる 読者になる

正規表現のオペレータを変数で動的に指定する

//対象文字列 def str = "abc" //静的指定 assert str =~ "a?c" //true //動的指定 def pattern = "a?c" assert str =~ pattern //true なお、正規表現のオペレータ指定の際に一般的には/a/と表現するが、groovyでは/a/での文字列表現はバックスラッシュをエ…

プログラミング GROOVY

これ以外に目新しいGroovyの書籍は2015年には存在しない(と思われる)が、初心者には十分すぎる位丁寧に書かれている。前半は特に基本的な文法をきちんと解説してくれているので、GradleやGebを使っている時に困ったときや、こうすればいいのかという事が理解…

P268 JSONの生成

def builder = new JsonBuilder() buidler { num 1 arr( [1, 2, 3] ) map(["a":1, "c":3, "b":2]) } def json = buier.toString() println json //通常出力 jprintln JsonOutput.prettyPrint(json) //出力結果を整形 プログラミングGROOVY 作者: 関谷和愛,上…

P266 JSONの読み込み(JsonSlurper)

groovy.json.JsonSlurperのparseTextメソッドを用いる。 なお、JSONのマップはHashMapに変換されるため、元のJSONテキストでの出現順序は保証されない。 def parser = new JsonSlurper() def root = parser.parseText(hogeStr) assert root.num == 1 //数値 …

P260 @Canonical

equals(), hashCode(), toString() を自動生成してくれる。 プログラミングGROOVY 作者: 関谷和愛,上原潤二,須江信洋,中野靖治 出版社/メーカー: 技術評論社 発売日: 2011/07/06 メディア: 単行本(ソフトカバー) 購入: 6人 クリック: 392回 この商品を含む…

P206 フックメソッド

メソッドやプロパティが実行など発生した際に呼び出す事ができる。 [メソッド] ・invokeMethod ・methodMissing [プロパティ] ・getProperty ・setProperty ・propertyMissing プログラミングGROOVY 作者: 関谷和愛,上原潤二,須江信洋,中野靖治 出版社/メー…

P204 リフレクション関連

//利用可能なメソッドの一覧出力 obj.metaClass.methods.each { println it } //利用可能なプロパティ名の一覧出力 obj.metaClass.properties.each { println it.name } //closeメソッドは呼び出し可能か? obj.metaClas.respondsTo(obj, 'close') //nameプ…

P194 Grape[Groovy Adaptable / Advanced Packaging Engine]

Apache Ivyをベースにした,Groovy標準モジュール管理メカニズム プログラミングGROOVY 作者: 関谷和愛,上原潤二,須江信洋,中野靖治 出版社/メーカー: 技術評論社 発売日: 2011/07/06 メディア: 単行本(ソフトカバー) 購入: 6人 クリック: 392回 この商品…

P189 ファイルへの書き出し

new File('out.txt').withWriter { writer -> writer << "hoge1 \n" writer << "hoge2 \n" } プログラミングGROOVY 作者: 関谷和愛,上原潤二,須江信洋,中野靖治 出版社/メーカー: 技術評論社 発売日: 2011/07/06 メディア: 単行本(ソフトカバー) 購入: 6人…

P189 任意の文字エンコーディングの指定して1行ずつリード処理

new File('hoge.txt').eachLine('UTF-8') { println "Line: $it" } プログラミングGROOVY 作者: 関谷和愛,上原潤二,須江信洋,中野靖治 出版社/メーカー: 技術評論社 発売日: 2011/07/06 メディア: 単行本(ソフトカバー) 購入: 6人 クリック: 392回 この商…

P187 外部プログラムの実行

executeメソッドで実行が行える。 JavaのProcessBuilderクラスに相当する。 println "ifconfig -a".execute().text プログラミングGROOVY 作者: 関谷和愛,上原潤二,須江信洋,中野靖治 出版社/メーカー: 技術評論社 発売日: 2011/07/06 メディア: 単行本(ソ…

P186 tr()による一括置換

assert 'abcdef'.tr('a-z', 'a-z') プログラミングGROOVY 作者: 関谷和愛,上原潤二,須江信洋,中野靖治 出版社/メーカー: 技術評論社 発売日: 2011/07/06 メディア: 単行本(ソフトカバー) 購入: 6人 クリック: 392回 この商品を含むブログ (155件) …

P185 簡単なGETメソッド実行方法

println "http://www.google.co.jp".toURL().text プログラミングGROOVY 作者: 関谷和愛,上原潤二,須江信洋,中野靖治 出版社/メーカー: 技術評論社 発売日: 2011/07/06 メディア: 単行本(ソフトカバー) 購入: 6人 クリック: 392回 この商品を含むブログ (1…

P118 Javaとの非互換性

・do-whileが利用不可 ・文字定数が利用不可 利用したい場合は、as演算子でchar型に強制変換する必要有 ・配列の宣言方法や初期化方法が異なる ・浮動小数リテラルのデフォルトはBigDecimal型 ・整数除算の違い Javaは整数のままだが、Groovyでは浮動小数 整…

P114 マッチング

便宜上の理解として、 ==~:文字列全体がパターンにマッチするかどうか(matches) =~:パターンにマッチする部分が文字列に含まれるかどうか(find) と考えてよい。 プログラミングGROOVY 作者: 関谷和愛,上原潤二,須江信洋,中野靖治 出版社/メーカー: 技術評…

P100 同値性と同一性の違い

[同値性] Java: equals() Groovy:== [同一性] Java:== Groovy:Object#is() プログラミングGROOVY 作者: 関谷和愛,上原潤二,須江信洋,中野靖治 出版社/メーカー: 技術評論社 発売日: 2011/07/06 メディア: 単行本(ソフトカバー) 購入: 6人 クリック: 392回 …