Groovyで文字列を連結する
文字列を連結するときは+演算子を使う。
「+演算子」を後ろに置いて、文字列リテラルを複数行に分けて書くことも出来る。
「+演算子」を前に置く場合には、\を後ろに書く必要がある。
println "いやよいや" + "よもすきのうち" println "184+184+184+184+184+184=1104" + "「いやよ」も6回言えば、「いいわよ」になる。" println "98回言えば「いや正に!」(184×98=18032)とキャラが変わり、" \ + "さらに2回言うと「いやよおぉ!」(184×100=18400)と超拒絶。" \ + System.getProperty("line.separator") \ + "http://twitter.com/#!/kenjieno/status/12365978145" \ + System.properties['line.separator'] \ + "184×256=47104 しないわよ" \ + org.codehaus.groovy.tools.Utilities.eol() \ + "http://twitter.com/#!/ooharak/status/21709128683"
[D:\workspace\groovy_SandBox]groovy Q051_文字列を連結する.groovy いやよいやよもすきのうち 184+184+184+184+184+184=1104「いやよ」も6回言えば、「いいわよ」になる。 98回言えば「いや正に!」(184×98=18032)とキャラが変わり、さらに2回言うと「いやよおぉ!」(184×100=18400)と超拒絶。 http://twitter.com/#!/kenjieno/status/12365978145 184×256=47104 しないわよ http://twitter.com/#!/ooharak/status/21709128683
よくある間違い
後ろの「\」を忘れる。
println "98回言えば「いや正に!」(184×98=18032)とキャラが変わり、" + "さらに2回言うと「いやよおぉ!」(184×100=18400)と超拒絶。" \
以下のエラーになる。
Caught: groovy.lang.MissingMethodException: No signature of method: java.lang.String.positive() is applicable for argument types: () values: []
実行環境
- OS:Windows XP
- Groovy Version: 1.6.5
- JVM: 1.6.0_12
Groovyの詳細についてはJavadocと以下の書籍を参考にしている。
Dierk Konig、Andrew Glover、Paul King、、Guillaume Laforge、Jon Skeet、杉浦 孝、櫻井 正樹、須江 信洋、関谷 和愛、佐野 徹郎、寺沢 尚史
出品者からお求めいただけます。価格は記載時点のものです。購入前にAmazonでご確認ください。
問題自体は第2版のもの。rubyと似てる部分も多いので、ヒントにもなる。
写経でもいいが自分で考えるために他言語の例をGroovyで置き換えてる。
Groovyイン・アクションを読むならあった方が便利かな。