Groovyã䜿ã£ãå Žåã®ãã¢ããã¥ã¡ã³ãããªããæ¯åºŠèŠããããã«ã·ã§ã«ã¹ã¯ãªãããšãPHPãšæ··ãã£ããããŠãã®ã§ãã¡ãã£ãšèªåã®ããã«æŽçããŠã¿ãŸããã
Strings and GString
http://groovy.codehaus.org/Strings+and+GString
ããã¥ã¡ã³ãäžã§ã¯ãããã¢ããã¥ã¡ã³ãããªããŠäžèšãèšã£ãŠãŸããããåã«è€æ°è¡ã§æžããStringã ããšãã話ãªã®ã§ãããæ¢ãæã®ããŒã¯ãŒãã£ãŠã ãããããã¢ããã¥ã¡ã³ããã§ãããâŠã
ãªããããã§äœ¿çšããã³ãŒãäŸã§ã¯ããããããå€æ°ãšããŠ
def variable = "Hello World"
ã宣èšãããŠãããã®ãšããŸãã
確èªç°å¢ã¯ã
$ groovy -version
Groovy Version: 2.1.6 JVM: 1.7.0_25 Vendor: Oracle Corporation OS: Linux
ã§ãã
3ãã¿ãŒã³ã®æžãæ¹
Groovyã§ã¯ããã¢ããã¥ã¡ã³ãã®æžãæ¹ãšããŠ3ã€æžãæ¹ããããŸããããããæ§æ Œãéãã®ã§ãç°¡åã«ã玹ä»ã
"""string"""
ããã«ã¯ã©ãŒãïŒ"ïŒãã3ã€äœ¿ãæžãæ¹ã§ãã以äžããµã³ãã«ã
def multiLineString = """ãã㯠è€æ°è¡ã® "æåå"ã§ã å€æ°ã¯å±éãããŸã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã \r\n ãããªæåå"""
åºåããŠã¿ããš
println("----------") println(multiLineString) println("----------")
ãããªçµæã«ãªããŸãã
---------- ãã㯠è€æ°è¡ã® "æåå"ã§ã å€æ°ã¯å±éãããŸã variable = Hello World ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã ãããªæåå ----------
ãªã®ã§ãç¹åŸŽãšããŠ
- GStringã®å±éããã
- /ã¯ãšã¹ã±ãŒãæåãšãªã
ãšããããšã«ãªããŸãã
ïŒè€æ°è¡ãæžãããšããã®ãç¹åŸŽãªã®ã§ãããå
šéšåãããšãèšããã®ã§æžããŸããâŠ
ãªãã
"æåå"ã§ã
ã¿ããã«ãããã«ã¯ã©ãŒãããšã¹ã±ãŒããªãã§äœ¿ãããšãããšããããã€ã³ãã§ã¯ïŒ
æèšèªãã§ããŠãã®ã§ãè©ŠããŠã¿ãããã£ã±ãã§ããŸããïŒç¬ïŒã
ããã«ã¯ã©ãŒãã§ã¯çµäºããããšãã§ããªããšãããšãããããã£ã±ãåãããŸãä»æ¹ãªãããã
'''string'''
ã·ã³ã°ã«ã¯ã©ãŒãïŒ'ïŒãã3ã€äœ¿ãæžãæ¹ã§ãã以äžããµã³ãã«ã
def multiLineStringNoExpand = '''ãã㯠è€æ°è¡ã® 'æåå'ã§ã å€æ°ã¯å±éããŸãã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã \r\n ãããªæåå'''
åºå
println("----------") println(multiLineStringNoExpand) println("----------")
çµæã
---------- ãã㯠è€æ°è¡ã® 'æåå'ã§ã å€æ°ã¯å±éããŸãã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã ãããªæåå ----------
ãã¡ãã¯ã
- GStringã®å±éã¯è¡ãããªã
- /ã¯ãšã¹ã±ãŒãæåãšãªã
ãšããåãã«ãªããŸããããšãã·ã³ã°ã«ã¯ã©ãŒããããã«ã¯ã©ãŒãã®ãšã¹ã±ãŒãã¯ããã¡ããäžèŠã«ãªã£ãŠãŸããã
$/string/$
$/ãš$/ã§å²ãæžãæ¹ã§ãã以äžããµã³ãã«ã
def multiLineStringNoEscape = $/ãã㯠è€æ°è¡ã® "æåå"ã§ã å€æ°ã¯å±éããŸã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸãã \r\n ãããªæåå/$
åºå
println("----------") println(multiLineStringNoEscape) println("----------")
çµæã
---------- ãã㯠è€æ°è¡ã® "æåå"ã§ã å€æ°ã¯å±éããŸã variable = Hello World ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸãã \r\n ãããªæåå ----------
ç¹åŸŽãšããŠã¯ã
- GStringã®å±éã¯è¡ããã
- /ã¯ãšã¹ã±ãŒãæåãšã¯ãªããªã
ã§ããã
ãããæ£èŠè¡šçŸã䜿ãæã«éå®ããããªæžãæ¹ã§ããã
/string/
ã®æ¹ãå€çšãããŠãããªæ°ãããŸããã
ç¶ããŠãç¥ã£ãŠããšäŸ¿å©ãããªTipsãâŠã
ãã以éã¯printlnããŠãéšåã¯ãããæžããŸããã
å é ã«ã\ããå ¥ãã
ãã¢ããã¥ã¡ã³ãã䜿ãæã«ã
def multiLineString2 = """ ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã \r\n ãããªæåå"""
ã¿ããã«æåã«æ¹è¡ããŠããŸããš
---------- ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸã variable = Hello World ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã ãããªæåå ----------
ã¿ããã«æåã«æ¹è¡ãå ¥ã£ãŠããŸã£ãŠãæ®å¿µãªçµæã«ãªããŸãã
ãããæå¶ããããã«ã¯ãæåã«ã\ããå ¥ããŸãã3çš®é¡ã®æžãæ¹ãã©ã®ãã¿ãŒã³ã§ã䜿ããŸãã
"""string"""
def multiLineString3 = """\ ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã \r\n ãããªæåå"""
'''string'''
def multiLineStringNoExpand3 = '''\ ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸãã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã \r\n ãããªæåå'''
$/string/$
def multiLineStringNoEscape3 = $/\ ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸãã \r\n ãããªæåå/$
çµæã¯ããããã
"""string"""
---------- ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸã variable = Hello World ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã ãããªæåå ----------
'''string'''
---------- ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸãã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã ãããªæåå ----------
$/string/$
---------- ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸã variable = Hello World ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸãã \r\n ãããªæåå ----------
ãšãªããŸãã
$/string/$ã®ãã¿ãŒã³ã§ã¯ãæåã®ã\ãã¯ç¹å¥æ±ãããŠããã¿ããã§ããã
stripMargin
ãã®ã¡ãœããã䜿çšãããšãç¹å®ã®æåãããªãã¿ãšããŠãè¡é ãæããããšãã§ããããã«ãªããŸãã
æèšèªãšã¡ãœããåãšããã©ã«ãã®æåãå®å šã«åããªã®ã§ãããããããã£ãã§ãã
ãŸãã¯ãªãŒãœããã¯ã¹ãªäœ¿çšäŸãã
def multiLineString4 = """|ãã㯠|è€æ°è¡ã® |æååã§ã |å€æ°ã¯å±éãããŸã |variable = $variable |ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã |\r\n |ãããªæåå""".stripMargin()
åºåçµæãèŠããšãäœäºããªãã£ããã®ããã«æã£ãŠåºåãããŸãã
---------- ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éãããŸã variable = Hello World ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã ãããªæåå ----------
ããã¯ãããã©ã«ãã®ããªãã¿ãã|ããšãªã£ãŠããããã§ãã
stripMarginã¡ãœããã«åŒæ°ã«ããªãã¿ãæž¡ãããšã§ãèªç±ã«èšå®ããããšãã§ããŸãã
def multiLineStringNoExpand4 = '''=ãã㯠=è€æ°è¡ã® =æååã§ã =å€æ°ã¯å±éããŸãã =variable = $variable =ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã =\r\n =ãããªæåå'''.stripMargin('=')
def multiLineStringNoEscape4 = $/-ãã㯠-è€æ°è¡ã® -æååã§ã -å€æ°ã¯å±éããŸã -variable = $variable -ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸãã -\r\n -ãããªæåå/$.stripMargin("-") // stripMarginã¯ãåŒæ°ã«StringãåããŸãããå®éã«ã¯1æååããå¹æããããŸãã
ãªããstripMarginã¯charãšStringãåŒæ°ã«åããã®ããããŸãããå®éã«æ©èœããã®ã¯1æåã®ã¿ã§ãStringåŒæ°ã«è€æ°æåãæž¡ããŠãæåã®1æåã«ããæ©èœããŸããã
âŠGroovyã§ã¯ãcharã¯æžãã¥ããããã§ããããã
stripIndent
ãã¢ããã¥ã¡ã³ãå ã§ã®æå°å¹ ã®ç©ºçœããåãæããæ©èœã§ãã
ãµã³ãã«ã
def multiLineString5 = """\ ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éãããŸã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã \r\n æå°å¹ ã§èŠãŠãããããã®ã§ãå¹ ã倧ãããšããã¯ãºã¬ãŸã ãããªæåå""".stripIndent()
ã²ãšã€ãæå³çã«åŸãã«ããããè¡ãå ¥ã£ãŠããŸãã
ãããåºåãããš
---------- ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éãããŸã variable = Hello World ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã æå°å¹ ã§èŠãŠãããããã®ã§ãå¹ ã倧ãããšããã¯ãºã¬ãŸã ãããªæåå ----------
ãšããçµæã«ãªããå¹ ã倧ãããšããã¯ãã®ãŸãŸãºã¬ã圢ã§åºåãããŸãã
ãšããããšã§ãæå°å¹ ã§èŠãŠããã®ã§
def multiLineString5 = """\ ããã¯
ã¿ãããªæãã§å é ãã\ãã§å§ããªããšããããŸãæå³ã®ãªãã¡ãœããããªããšãããããããªãã£ãæç¹ã§ãæå°ã®å¹ ã¯ã0ãã«ãªãã®ã§âŠã
åãåãå¹ ã¯ãèªåã§æå®ããããšãã§ããŸãã
'''string'''
def multiLineStringNoExpand5 = '''\ ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸãã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã \r\n ä»åºŠã¯å¹ ãæ瀺çã«æå®ããŠããŸã ããåé€ ããæå€§å¹ ã«åãããŠããŸããšè¶³ããªããšããã¯åãããŠããŸããŸã⊠ãããªæåå'''.stripIndent(4)
ãªãã§ããã©ãã¡ãããšå¹ ãåãããŠãããªããšåãåãããã¹ããŒã¹ã«ããæåã¯ã容赊ãªãç¡ããªã£ãŠããŸããŸãã
---------- ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸãã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸã ä»åºŠã¯å¹ ãæ瀺çã«æå®ããŠããŸã ããæå€§å¹ ã«åãããŠããŸããšè¶³ããªããšããã¯åãããŠããŸããŸã⊠ãããªæåå ----------
$/string/$ã¯ããªããããŸãåããŠãªãã£ããããªâŠ
def multiLineStringNoEscape5 = $/\ ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸã variable = $variable ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸãã \r\n ä»åºŠã¯å¹ ãæ瀺çã«æå®ããŠããŸã ããåé€ ããæå€§å¹ ã«åãããŠããŸããšè¶³ããªããšããã¯åãããŠããŸããŸã⊠ãããªæåå/$.stripIndent(4)
ããïŒïŒ
---------- ãã㯠è€æ°è¡ã® æååã§ã å€æ°ã¯å±éããŸã variable = Hello World ããã¯ã¹ã©ãã·ã¥ã¯ãšã¹ã±ãŒãæåãšãªããŸãã \r\n ä»åºŠã¯å¹ ãæ瀺çã«æå®ããŠããŸã ããåé€ ããæå€§å¹ ã«åãããŠããŸããšè¶³ããªããšããã¯åãããŠããŸããŸã⊠ãããªæåå ----------
ãããã¡ãã£ãšããããè©ŠããŠã¿ãã®ã§ããã$/string/$ã®å Žåã¯ãå€æ°ãå ¥ã£ãŠããŠ
variable = $variable
ãã€åã«æåããã£ãããããšãã¡ã§
ããåé€ ããæå€§å¹ ã«åãããŠããŸããšè¶³ããªããšããã¯åãããŠããŸããŸãâŠ
ãããã®è¡ã®ãããããåé€ãããšãæå®åã®æåãåé€ãããŸããããã®å·®ã¯ïŒïŒ
å人çã«ã¯ãstripMarginã䜿ãããããªãïŒ
ä»åã®åèæžç±ã¯ããã¡ãããã¡ãã§ãã
- äœè : é¢è°·åæ,äžå最äº,é æ±ä¿¡æŽ,äžééæ²»
- åºç瀟/ã¡ãŒã«ãŒ: æè¡è©è«ç€Ÿ
- çºå£²æ¥: 2011/07/06
- ã¡ãã£ã¢: åè¡æ¬ïŒãœããã«ããŒïŒ
- è³Œå ¥: 6人 ã¯ãªãã¯: 392å
- ãã®ååãå«ãããã° (155件) ãèŠã