Groovyで特定文字(空白類文字)を含まない部分の長さを調べる その2
Groovyで特定文字(空白類文字)を含まない部分の長さを調べるの続き
指定してるパラメーターが違うと推測。
チルダがあるかないかで、型が異なるようだ。
Groovyの正規表現はなぜ文字列か
以下らしい
表記 | 型 |
---|---|
~/hoge/ | Pattern |
/hoge/ | String |
これが原因かなのかな。
ということは、/hoge/を指定してString渡しすれば上手くいくのか?
正規表現(java.util.regex.Pattern)の~/hoge/ではなく、文字列の/hoge/を指定してみる。
def matching_length(str, regexp){ println "matching_length() regexp is " + regexp.getClass().getName() result = 0 m = (~"$regexp").matcher(str) m.find() m.each{ chunk -> result += chunk.size() } return result } def unmatching_length(str, regexp){ println "unmatching_length() regexp is " + regexp.getClass().getName() return str.length() - matching_length(str, regexp) } /* 空白類文字以外は何文字か? */ println unmatching_length("abc d eee ff\n", /\s/)
結果
groovy:000> load 044_3_特定の文字を含む部分の長さを調べる.groovy ===> true ===> true ===> true unmatching_length() regexp is java.lang.String ERROR groovy.lang.MissingMethodException: No signature of method: groovysh_evaluate.matching_length() is applicable for argument types: (java.lang.String, java.lang.String) values: [abc d eee ff , \s] at groovysh_evaluate.unmatching_length (groovysh_evaluate:4) at groovysh_evaluate.run (groovysh_evaluate:2)
だめじゃん。。。( ̄▽ ̄;)
groovy.lang.MissingMethodExceptionのままだけど、
第2パラメーがjava.lang.StringでもNGだ。
といことは、defの使い方が間違ってるのか?
実行環境
- OS:Windows XP
- Groovy Version: 1.6.5
- JVM: 1.6.0_12
Groovyで特定文字(空白類文字)を含まない部分の長さを調べる その2
Groovyで特定文字(空白類文字)を含まない部分の長さを調べる
Groovyで特定文字(空白類文字)を含む部分の長さを調べる
Groovyでmapで値を取得する方法のまとめ
Groovyではてブカウンター風はてなスターカウンターを作成する 10)完結編 作成したはてなスターカウンターをはてダに貼り付ける
Groovyではてブカウンター風はてなスターカウンターを作成する 9)はてブカウンターと同じ15色に対応する
Groovyではてブカウンター風はてなスターカウンターを作成する 8)APIで取得したスター数をはてなスターカウンターに描く
Groovyではてブカウンター風はてなスターカウンターを作成する 7)はてなスターAPIを使用してはてなスター数を取得する
Groovyではてブカウンター風はてなスターカウンターを作成する 6)カウンターに数字を描く
Groovyではてブカウンター風はてなスターカウンターを作成する 5)はてブカウンター風に立体的加工をする
最近のキーワード
- API
- JVM
- Ruby
- URI
- UTF-8
- Windows XP
- XML-RPC
- jsonic
- regex
- すもももももも
- はてなスター
- はてなスターカウントAPI
- はてなダイアリー
- はてなフォトライフ
- はてなブックマーク件数取得API
- はてブ
- ほんたった
- ソフトバンク クリエイティブ
- 正規表現
- 毎日コミュニケーションズ
Groovyの詳細についてはJavadocと以下の書籍を参考にしている。
Groovyイン・アクション
posted with amazlet
問題自体は以下の書籍のもの。rubyと似てる部分も多いので、ヒントにもなる。
写経でもいいが自分で考えるために他言語の例をGroovyで置き換えてる。
Rubyレシピブック 第2版 268の技
posted with amazlet
Groovyイン・アクションを読むならあった方が便利かな。