ïŒ. ã¯ããã«
匷åã§ãããªãããç解ããããéçºç°å¢ããããGroovy ãã¬ãŒã ã¯ãŒã¯ã§ããããã°ã©ãã³ã°èšèªã®éžæã¯ãéçºå¹çããœãããŠã§ã¢ã®å質ã«å€§ããªåœ±é¿ãäžããŸãããã®èšäºã§ã¯ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®é åãšããã®å¹æçãªæŽ»çšæ¹æ³ã«ã€ããŠèª¬æããŸãã
1.1 Groovy ãã¬ãŒã ã¯ãŒã¯ãšã¯
Groovy ãã¬ãŒã ã¯ãŒã¯ãšã¯ãJavaãã©ãããã©ãŒã äžã§åäœããåçãªããã°ã©ãã³ã°èšèªããGroovyãã§éçºããããã®ãã¬ãŒã ã¯ãŒã¯ã§ãããã¬ãŒã ã¯ãŒã¯ã¯ãäžå®ã®æ§æã»èšèšã®ããšã§ãœãããŠã§ã¢éçºãè¡ãããã®ããŒã«ã»ããã§ãGroovy ãã¬ãŒã ã¯ãŒã¯ã¯ãã®äžã§ãæè»æ§ãšçç£æ§ããããŠåŒ·åãªæ©èœãç¹åŸŽãšãªã£ãŠããŸãã
1.2 æ¬ã¬ã€ãã®ç®çãšå¯Ÿè±¡èªè
ãã®ã¬ã€ãã®ç®çã¯ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªç¥èããæŒãããŠããã¹ããã€ã³ããããã«ã¯éçºã®å®äŸããã©ãã«ã·ã¥ãŒãã£ã³ã°ãŸã§ãå šé¢çã«Groovy ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠç解ãæ·±ããããšã«ãããŸãã
ãŸãããã®ã¬ã€ãã®å¯Ÿè±¡èªè ã¯ãæè¡çãªç¥èã¯äžå®çšåºŠãããã®ã®ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®å ·äœçãªåãæ±ãæ¹ã«ã€ããŠããŸãç¥ããªããšããæ¹ã ãæ³å®ããŠããŸããããå¹æçãªã¢ããªã±ãŒã·ã§ã³éçºã®ããã®ã¹ãã«ãåŠã³ããæ¹ãæ°ããªãã¬ãŒã ã¯ãŒã¯ã掻çšããŠã¿ãããšèããŠããæ¹ããããŠå¿«é©ãªéçºç°å¢ãæ±ããŠããæ¹ã ã®åèã«ãªãã°å¹žãã§ãã
ïŒ. Groovy ãã¬ãŒã ã¯ãŒã¯ã®åºæ¬ç解
ããã°ã©ãã³ã°ã®äžçã¯æ¥ã é²åããæ°ããæè¡ãšæŠå¿µã絶ãéãªãçãŸããŸããä»åç§ãã¡ãçŠç¹ãåœãŠãã®ã¯ããã®äžã§ãç¹ã«æ³šç®ãããŠããGroovyãšããèšèªãšããããããå¹ççã«äœ¿ãããã®ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠã§ããã§ã¯ãããããã®ç¹åŸŽãšæ§æ Œã«ã€ããŠã詳ããèŠãŠãããŸãããã
2.1 Groovy ãšã¯
Groovyã¯ãJavaã®ãã©ãããã©ãŒã äžã§åäœããåçã«åä»ããããããã°ã©ãã³ã°èšèªã§ããJavaãšã®é«ãäºææ§ãæã¡ãªãããããçãã»ç°¡æœã«ã³ãŒããæžãããšãã§ãããããéçºè ã®çç£æ§åäžã«å€§ãã«è²¢ç®ããŸãã
Groovyã®ç¹åŸŽçãªèŠçŽ ãšããŠãã¹ã¯ãªããèšèªã®ã¿ã€ãã§ã¯ããããæŽç·Žãããéçåä»ãã·ã¹ãã ãåããŠããããšãæããããŸãããŸããJavaãš100%äºææ§ããããJavaã®ã©ã€ãã©ãªããã®ãŸãŸå©çšããããšãã§ãããããåŠç¿ã³ã¹ããå€§å¹ ã«åæžããããšãå¯èœã§ãã
2.2 ãã¬ãŒã ã¯ãŒã¯ãšã¯
次ã«ããã¬ãŒã ã¯ãŒã¯ã«ã€ããŠè§£èª¬ããŸãããã¬ãŒã ã¯ãŒã¯ã¯ãã¢ããªã±ãŒã·ã§ã³ã®éçºãæ¯æŽããããã®åºç€ãšãªããœãããŠã§ã¢ã®æ§é ã§ããäžè¬çã«ããã¬ãŒã ã¯ãŒã¯ã¯åå©çšå¯èœãªã³ãŒãã®éåäœã§ãããç¹å®ã®ã¢ãŒããã¯ãã£ãèšèšãã¿ãŒã³ã«åºã¥ããéçºãå©ããŠãããŸãã
ãã¬ãŒã ã¯ãŒã¯ã䜿çšããããšã§ãéçºè ã¯è©³çŽ°ãªå®è£ ãåŠçãã解æŸãããããžãã¹ããžãã¯ãç¹å®ã®æ©èœå®è£ ã«éäžããããšãå¯èœã«ãªããŸããäžèŠãé«åºŠãªæè¡äººæãå¿ èŠãšããããã«æãããã¬ãŒã ã¯ãŒã¯ã§ãããå®éã«ã¯åŠç¿ããŠç解ããã°ã誰ã§ãå©çšããããšãã§ããŸãã
2.3 Groovy ãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽ
ããã§ã¯ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽã«ã€ããŠèå¯ããŸããGroovy ãã¬ãŒã ã¯ãŒã¯ãç¹ã«Grailsãšãããã¬ãŒã ã¯ãŒã¯ã§ã¯ãGroovy ã§èšè¿°ããã³ãŒããå¹çããå®è¡ããããã®æ°å€ãã®ãŠãŒãã£ãªãã£ãšæ©èœãæäŸãããŠããŸãã
äŸãã°ãGroovy ã¿ã°ã©ã€ãã©ãªãå©çšããããšã§ãHTML ã®çæãç°¡åã«è¡ãããšãã§ããŸããGORMïŒGroovy Object Relational MappingïŒã¯ãããŒã¿ããŒã¹æäœãå€§å¹ ã«ç°¡ç¥åããŸããããã«ãèªåãªããŒããURLãããã³ã°ããã©ã°ã€ã³ã·ã¹ãã ãªã©ãéçºè ãFocusããã¹ãç®æã«éäžããããšãæ¯æŽããè±å¯ãªæ©èœãååšããŸãã
ãããã®ç¹åŸŽãçµæçã«ãéçºè ãã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ããžãã¯ã«å°å¿µããããšãå¯èœã«ããçµæãšããŠçç£æ§ãåäžãããŠããŸãã
ïŒ. Groovy ãã¬ãŒã ã¯ãŒã¯ã®ã€ã³ã¹ããŒã«æ¹æ³
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®ã€ã³ã¹ããŒã«æ¹æ³ã«ã€ããŠè©³ãã説æããŸãããŸãã¯ããã¬ãŒã ã¯ãŒã¯ã䜿çšããããã«å¿ èŠãªç°å¢ãææ¡ããæ£ããæé ã§ã€ã³ã¹ããŒã«ããŸããããæåŸã«ãæ£ããã€ã³ã¹ããŒã«ã§ããããšã確èªããæ¹æ³ãã玹ä»ããŸãã
3.1 å¿ èŠãªç°å¢
ãŸãæåã«ãGroovy ãã¬ãŒã ã¯ãŒã¯ãå©çšããããã«ã¯ããã€ãã®ç°å¢ãå¿ èŠã§ãã以äžã«ãäž»ãªãã®ãåæããŸãã
Javaã®å®è¡ç°å¢ïŒ Groovyã¯JavaããŒã¹ã®ããã°ã©ãã³ã°èšèªã§ãããããJavaãå®è¡ã§ããç°å¢ãå¿ èŠã§ããå ·äœçã«ã¯Java Development Kit(JDK)ã®ããŒãžã§ã³8以äžãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
ã€ã³ã¿ãŒãããæ¥ç¶ïŒãã¬ãŒã ã¯ãŒã¯ã®ããŠã³ããŒããã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ã«ã¯ã€ã³ã¿ãŒãããæ¥ç¶ãå¿ èŠã§ãã
3.2 ã€ã³ã¹ããŒã«æé
Groovy ãã¬ãŒã ã¯ãŒã¯ã®ã€ã³ã¹ããŒã«æé ã¯æ¯èŒçã·ã³ãã«ã§ãã以äžã«æé ã瀺ããŸãã
1. å ¬åŒãµã€ãããã€ã³ã¹ããŒã©ãããŠã³ããŒã 2. ããŠã³ããŒããããã¡ã€ã«ãããã«ã¯ãªãã¯ããŠã€ã³ã¹ããŒã©ãèµ·å 3. æ瀺ã«åŸã£ãŠé²ããå®äºãããšGroovy ãã¬ãŒã ã¯ãŒã¯ãã€ã³ã¹ããŒã«ãããŸãã
泚æç¹ãšããŠã¯ãã€ã³ã¹ããŒã©ã«ã¯ããŸããŸãªèšå®é ç®ãååšããŸãããã»ãšãã©ã®å Žåããã©ã«ãã®èšå®ã§åé¡ãªãã¯ãã§ããåããŠã€ã³ã¹ããŒã«ããæ¹ã¯ãå®å¿ããŠããã©ã«ãã®èšå®ãéžæããŠãã ããã
3.3 ã€ã³ã¹ããŒã«ç¢ºèª
ã€ã³ã¹ããŒã«ãå®äºããããå®éã«Groovy ãã¬ãŒã ã¯ãŒã¯ã䜿ããã確èªããŠã¿ãŸãããã確èªæ¹æ³ã¯ç°¡åã§ãã¿ãŒããã«ïŒã³ãã³ãããã³ããïŒãéãã次ã®ã³ãã³ããå ¥åããŸãã
groovy --version
ãã®ã³ãã³ããå®è¡ãããšãã€ã³ã¹ããŒã«ãããŠããGroovy ãã¬ãŒã ã¯ãŒã¯ã®ããŒãžã§ã³ã衚瀺ãããŸããåºåãããããŒãžã§ã³æ å ±ãã€ã³ã¹ããŒã«ãããã®ãšäžèŽããŠããã°ãã€ã³ã¹ããŒã«ã¯æ£åžžã«å®äºããŠããŸãã
ããã§ã€ã³ã¹ããŒã«ãå®äºããŸããã次ã®ã»ã¯ã·ã§ã³ã§ã¯ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªäœ¿ãæ¹ã«ã€ããŠåŠãã§ãããŸãããã
ïŒ. Groovy ãã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªäœ¿ãæ¹
Lorem ipsum dolor sit amet, Groovy ãã¬ãŒã ã¯ãŒã¯ã®äœ¿çšããã¯ãæ±ããããäžã€ã®å€§åæãšãªã£ãŠããŠããŸããã ããããããã®åºæ¬çãªäœ¿ãæ¹ã確èªãã䜿ãããªãã¹ãã«ã身ã«ã€ããŸãããã
4.1 ãããžã§ã¯ãã®äœæ
ãŸãå§ãã«ãããžã§ã¯ããäœæããŸãããããããžã§ã¯ããäœæããããšã§ããœãŒã¹ã³ãŒãããªãœãŒã¹ããã¹ãã³ãŒããªã©ãäžãæã«ãŸãšããŠç®¡çãããããªããŸããGroovy ãã¬ãŒã ã¯ãŒã¯ã§ã¯ã³ãã³ãã©ã€ã³ããæ軜ã«ãããžã§ã¯ããäœæããããšãã§ããŸãã
4.2 ã³ãŒãã®èšè¿°
ãããžã§ã¯ããäœæããããã次ã«ã³ãŒãã®èšè¿°ãè¡ããŸããããã§ã¯ãGroovyç¹æã®ã·ã³ã¿ãã¯ã¹ã掻çšããªãããå¹ççã«ã³ãŒããæžãé²ããŸãããããŸãããã¬ãŒã ã¯ãŒã¯ãªãã§ã¯ã®ç¹åŸŽãããšãã°äŸ¿å©ãªã©ã€ãã©ãªãAPIãå©çšããããšã§ãçæéã§ããå€ãã®æ©èœãå®è£ å¯èœã§ãã
4.3 ãã¹ãã®å®è¡
èªèº«ãæžããã³ãŒããæåŸ éãã®æåããããã確èªããããã«ããã¹ãã®å®è¡ã¯éèŠãªäœæ¥ãšãªããŸãããŠããããã¹ããã€ã³ãã°ã¬ãŒã·ã§ã³ãã¹ãããã¡ããšè¡ããå質ä¿èšŒãæ ããªãããã«ããŸãããããã¬ãŒã ã¯ãŒã¯ãå©çšããã°ããã¹ãç°å¢ã®æ§ç¯ããã¹ãã®å®è¡ãã¹ã ãŒãºã«è¡ããŸãã
4.4 ãããã°æ¹æ³
æåŸã«ããã°ãåé¡ãçºçããå Žåã®ãããã°æ¹æ³ã«ã€ããŠèª¬æããŸãããããã°ãšã¯ããœãããŠã§ã¢ã®èª€åäœã®åå ãç¹å®ãããããä¿®æ£ããäœæ¥ã®ããšã§ããGroovy ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãéäžè¡ç¢ºèªã®ãããã°ããã¬ãŒã¯ãã€ã³ããèšå®ãããªã©ãå€å²ã«ããããããã°æ¹æ³ã䜿çšã§ããŸãã
ïŒ. Groovy ãã¬ãŒã ã¯ãŒã¯ãå©çšããéçºã®ãã€ã³ã
Groovy ãã¬ãŒã ã¯ãŒã¯ã䜿ã£ãŠéçºäœæ¥ãé²ããã«ã¯ãããããšãããã¯ããã¯ãããŒã«ãéçºç°å¢ã®ã»ããã¢ããã«ã€ããŠç解ããããšã倧åã§ãã以äžã§ã¯ãããããã«ã€ããŠè©³ãã説æããŸãã
5.1 è¯è³ªãªã³ãŒããæžãããã®ãã¯ããã¯
Groovy ãã¬ãŒã ã¯ãŒã¯ã掻çšããè¯è³ªãªã³ãŒããäœæããããã«ã¯ãäœããçããŠã·ã³ãã«ãªã³ãŒããæžãããšãéèŠã§ããèŠèŠçã«ãåãããããããŸãèŠçŽããéã®ç解ã容æã«ããããšãæ±ããããŸãã
ããã«DRYååãé©çšããããšã倧åã§ããDRYååãšã¯”Don’t Repeat YourselfïŒåãããšãç¹°ãè¿ããªïŒ”ã®ç¥ã§ãéè€ããã³ãŒãã¯ãªãã¹ãé¿ããã¹ããšããèãæ¹ãåºæ¬ãšãããŸãããããšãããã¹ã ãŒãºã«ã³ãŒãã£ã³ã°ãé²ããããšãã§ããã¡ã³ããã³ã¹ã楜ã«ãªããŸãã
ãŸãããã¹ãé§åéçºïŒTDDïŒãåãå ¥ããããšãæå¹ã§ããã³ãŒããæžããŠãªãªãŒã¹ããåã«æ§ã ãªãã¹ããè¡ãããã°ãå°ãªããã工倫ãéèŠã§ãã
5.2 å¹çè¯ãéçºããããã®ããŒã«
Groovy ãã¬ãŒã ã¯ãŒã¯ã§éçºãå¹ççã«è¡ãããã«ã¯ãé©åãªããŒã«ã®éžæãäžå¯æ¬ ã§ããäŸãã°ãIntelliJ IDEAãEclipseãªã©ã®çµ±åéçºç°å¢ïŒIDEïŒãå°å ¥ããããšãããããããŸãããããã®IDEã¯ã³ãŒãã£ã³ã°ããããã°ããã«ããªã©ãéçºäœæ¥å šè¬ããµããŒãããŸãã
ãŸãããœãŒã¹ã³ãŒã管çããŒã«ãGitãSubversionããã«ãããŒã«ãšããŠã¯GradleãMavenãåºãå©çšãããŠããŸãããããã®ããŒã«ã¯éçºäœæ¥ãå¹ççã«é²ããããŒã ã§ã®å ±åäœæ¥ãã¹ã ãŒãºã«ããããšãå¯èœã§ãã
5.3 åžžé§åéçºç°å¢ã®ã»ããã¢ãã
Groovy ãã¬ãŒã ã¯ãŒã¯ã®éçºã«åãçµãäžã§ãéçºç°å¢ã®ãã¥ãŒãã³ã°ã倧åãªãã€ã³ãã§ããåžžé§åéçºç°å¢ãšã¯ãéçºè ãçç£çã«äœæ¥ãè¡ãããã«å¿ èŠãªãšãã£ã¿ãããŒã«ããã¬ãŒã ã¯ãŒã¯ãªã©ãéçºã«å¿ èŠãªåçš®ããŒã«ãäžå 管çããå¿ èŠãªç¶æ ã«ä¿ã€ããšãå¯èœãªç°å¢ã®ããšãèšããŸãã
å ·äœçã«ã¯ãéçºè ãå©äŸ¿æ§ã®é«ããšãã£ã¿ãéžæããå¿«é©ãªããã°ã©ãã³ã°ç°å¢ãäœãããšãããããããŸããããã«ãããžã§ã¯ã管çããŒã«ãã¿ã¹ã¯ç®¡çããŒã«ãå°å ¥ããäœæ¥ã®èŠããåãå³ãããšã§ãå šäœã®é²æ管çãã¹ã ãŒãºã«è¡ããŸãã
以äžãGroovy ãã¬ãŒã ã¯ãŒã¯ãçšããéçºã§ã®ãã¯ããã¯ãéçºããŒã«ãéçºç°å¢ã®ã»ããã¢ããã«ã€ããŠã§ããããããæèããªããéçºãé²ããããšã§ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®æ©æµãååã«åããããšãã§ããŸãã
ïŒ. Groovy ãã¬ãŒã ã¯ãŒã¯ã§ã®éçºäºäŸ
ãã®ç« ã§ã¯ãGroovy ãã¬ãŒã ã¯ãŒã¯ã掻çšããå ·äœçãªéçºäºäŸã«ã€ããŠèª¬æããŸãããŸãã¯Webã¢ããªã±ãŒã·ã§ã³ã®éçºããèŠãŠãããŸãããã
6.1 Webã¢ããªã±ãŒã·ã§ã³ã®éçº
Groovy ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠãã·ã³ãã«ãªWebã¢ããªã±ãŒã·ã§ã³ãéçºããäŸã«ã€ããŠèŠãŠãããŸãããããŸããHTMLãšCSSã䜿çšããŠåºæ¬çãªèŠãç®ãäœæããŸãã次ã«ãGroovyã®ã³ãŒããæžãããšã§ãããŒã¿ã®ååŸãäžèŠ§è¡šç€ºãªã©ã®åçãªæ©èœãå®è£ ã§ããŸããç¹ã«ããã¬ãŒã ã¯ãŒã¯ãªãã§ã¯ã®ç¹æ§ãšããŠãæ¢åã®ã©ã€ãã©ãªãçµã¿åãããããšã«ãããããŒãžéã§ã®ããŒã¿ã®åãæž¡ãããŠãŒã¶ãŒããã®å ¥åã®åãæ±ãã容æã«è¡ããããšãæããããŸãã
6.2 ããŒã¿ããŒã¹æäœã®å®è£
Groovy ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãããŒã¿ããŒã¹æäœãéåžžã«ç°¡åã«å®çŸã§ããŸããå ·äœçã«ã¯ãããŒã¿ããŒã¹ãšã®æ¥ç¶ãSQLã¯ãšãªã®çºè¡ãçµæã®ååŸãšãã£ãäžé£ã®æäœããç°¡æœãã€æçãªã³ãŒãã§å®è£ ã§ããŸãããŸããããŒã¿ããŒã¹ã®çš®é¡ã«é¢ãããã»ãŒåãã³ãŒãã§å®è£ å¯èœãšãªã£ãŠããŸããããã«ãGroovy ãã¬ãŒã ã¯ãŒã¯ã¯ãªããžã§ã¯ããªã¬ãŒã·ã§ãã«ãããã³ã°ïŒORMïŒã®æ©èœãæäŸããŠããŸããããã«ãããããŒã¿ããŒã¹ã®ããŒãã«ãšGroovyã®ã¯ã©ã¹ããããã³ã°ããããšã§ãããçŽæçã«ããŒã¿ããŒã¹æäœãè¡ãããšãã§ããããã«ãªããŸãã
6.3 APIã®éçº
Groovyãã¬ãŒã ã¯ãŒã¯ã§ã¯ãRESTful APIã®éçºãå¯èœã§ããURLã®ã«ãŒãã£ã³ã°èšå®ãHTTPã¡ãœããã®å¶åŸ¡ãªã©ãAPIã®éçºã«å¿ èŠãªæ©èœãäžéãæã£ãŠããŸããããã«ãJSONãXMLãšãã£ãããŒã¿åœ¢åŒã®èªåå€ææ©èœãåããŠãããã¯ã©ã€ã¢ã³ãããã®ãªã¯ãšã¹ãå 容ã«åºã¥ããŠã¬ã¹ãã³ã¹ã®ãã©ãŒããããåçã«å€ããããšãå¯èœã§ãã
ãã®ããã«ãWebã¢ããªã±ãŒã·ã§ã³éçºããããŒã¿ããŒã¹æäœãAPIéçºãŸã§ãæ§ã ãªã·ãŒã³ã§Groovy ãã¬ãŒã ã¯ãŒã¯ã®æŽ»çšãæåŸ ã§ããŸããæ¬¡ç« ã§ã¯ãGroovy ãã¬ãŒã ã¯ãŒã¯ã䜿ã£ãéçºã§çããã¡ãªåé¡ãšè§£æ±ºçã«ã€ããŠèŠãŠãããŸãã
ïŒ. Groovy ãã¬ãŒã ã¯ãŒã¯ã®Tipsãšãã©ãã«ã·ã¥ãŒãã£ã³ã°
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãäžè¬çã«Groovy ãã¬ãŒã ã¯ãŒã¯ã䜿çšããéã«èµ·ãããã¡ãªãã©ãã«ãšãã®å¯Ÿçæ¹æ³ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®æäœæ§ãåäžãããããã®ããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ã®ãã€ã³ãããããŠåœ¹ç«ã€é¢é£ãªãœãŒã¹ãšã³ãã¥ããã£ã«ã€ããŠèª¬æããŸãã
7.1 ããããåé¡ãšè§£æ±ºæ¹æ³
Groovy ãã¬ãŒã ã¯ãŒã¯ã䜿çšããéã«ããééããåé¡ã®äžã€ã«ãã¹ã¯ãªããã®å®è¡ãšã©ãŒããããŸããããã¯ãã¹ã¯ãªããã«èšè¿°ãã¹ãããå Žåãå¿ èŠãªã©ã€ãã©ãªãã€ã³ã¹ããŒã«ãããŠããªãå Žåã«çºçããŸãããã®è§£æ±ºçãšããŠã³ãŒãã®ãã§ãã¯ãå¿ èŠãªã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ã»ã¢ããããŒããè¡ãããšãå¿ èŠã§ãã
ãŸããããã©ãŒãã³ã¹äœäžãäžè¬çãªåé¡ãšãããŠããŸããé©åãªããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ããªãœãŒã¹ã®ç®¡çãè¡ãããŠããªãå Žåã«ããèŠåããããŸãããã®åé¡ã«å¯ŸããŠã¯ãªãœãŒã¹ã®ç£èŠãšé©åãªããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ãæå¹ãšãããŠããŸãã
7.2 ããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ã®ãã€ã³ã
Groovy ãã¬ãŒã ã¯ãŒã¯ã®ããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ã§ã¯ãäž»ã«æ¬¡ã®ïŒã€ã®ãã€ã³ãã«æ³šæããããšãéèŠãšãªããŸãã
ãŸãäžã€ç®ã¯ãäžèŠãªãªãœãŒã¹ã®åæžã§ããäžèŠãªãªããžã§ã¯ãã®çæãåé·ãªããŒã¿ã®åãæ±ããè¡ãããŠãããšãããã©ãŒãã³ã¹äœäžã«çŽçµããŸããå®æçã«ã³ãŒãã®èŠçŽããè¡ã£ãããå¹çã®è¯ãããŒã¿æ§é ã䜿çšãããªã©ã®å¯Ÿçãæå¹ã§ãã
äºã€ç®ã¯ããžãã¯ã®æé©åã§ããäžé©åãªããžãã¯ãèšç®åŠçãè¡ãããŠãããšãå šäœã®ããã©ãŒãã³ã¹ã«åœ±é¿ãåãŒããŸããããã§ã¯ã¢ã«ãŽãªãºã ã®éžæãããŒã¿ã®åãæ±ãæ¹ã«å·¥å€«ãåããããšãæ±ããããŸãã
ãããŠäžã€ç®ã¯ãããŒããŠã§ã¢ãªãœãŒã¹ã®é©åãªå©çšãæããããŸããã·ã¹ãã ãéãããªããšããã®åå ã¯æãšããŠããŒããŠã§ã¢ãªãœãŒã¹ã®äžè¶³ã«ããããšããããŸãããã®åé¡ã«å¯Ÿå¿ããããã«ã¯ããªãœãŒã¹ã®ç£èŠãè¡ãã€ã€ãé©åãªèŠæš¡ã®ããŒããŠã§ã¢ãªãœãŒã¹ã確ä¿ããããšãéèŠãšãªããŸãã
7.3 é¢é£ãªãœãŒã¹ãšã³ãã¥ããã£
Groovy ãã¬ãŒã ã¯ãŒã¯ã«é¢ãã質åãåé¡ãçºçããå Žåã®åèãªãœãŒã¹ãšããŠã¯ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®å ¬åŒããã¥ã¡ã³ããŒã·ã§ã³ãæãä¿¡é Œæ§ããããŸãããŸããStack OverflowãGithubçã®éçºè ã³ãã¥ããã£ããå ·äœçãªåé¡ã®è§£æ±ºçãèŠã€ããããã«åœ¹ç«ã€ãªãœãŒã¹ãšãªã£ãŠããŸãã
ããã«ãGitterãSlackãªã©ã®ãã£ããããŒã«ãçšããã³ãã¥ããã£ã掻çºã«æŽ»åããŠãããå³ææ§ã®ããæ å ±å ±æãåé¡è§£æ±ºã®ããã®è°è«ãè¡ãããŠããŸãããããã«åå ããããšã§ãææ°ã®æ å ±ããã¬ã³ããçŽé¢ããåé¡ã®è§£æ±ºçãªã©ãåŸãããšãã§ããã®ã§ãæ¯é掻çšããŠã¿ãŠãã ããã
ïŒ. ãŸãšã
ãããŸã§ã§ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽãšäœ¿ãæ¹ãéçºã§ã®æŽ»çšæ¹æ³ã«ã€ããŠè©³ãã解説ããŠããŸããã
8.1 Groovy ãã¬ãŒã ã¯ãŒã¯ã®é åå確èª
Groovy ãã¬ãŒã ã¯ãŒã¯ã¯ããã®ã·ã³ãã«ããšãšã¬ã¬ã³ããªã³ãŒãã£ã³ã°ãé åã§ããããšããšJavaãã©ãããã©ãŒã äžã§åäœããããã°ã©ãã³ã°èšèªã§ããGroovyããããå¹çãã掻çšããããã®ãã¬ãŒã ã¯ãŒã¯ãšããŠæäŸãããŠããŸãã
Java ã®ããã«å®è¡é床ãå¿ èŠãªå Žé¢ã§ããGroovy ãã¬ãŒã ã¯ãŒã¯ãªãã§ã¯ã®æ軜ãã§éçºãè¡ãããšãã§ããŸãããŸããæ¢åã®Javaã©ã€ãã©ãªãå©çšããããšãå¯èœãªãããæ¢åãããžã§ã¯ããšã®çµã¿åããããã€ã°ã¬ãŒã·ã§ã³ã容æã§ãã
ããã«ãGroovy ãã¬ãŒã ã¯ãŒã¯ ã¯æ·å± ãäœãã®ã§ãããã°ã©ãã³ã°åå¿è ã§ãå§ãããããšããã¡ãªããããããŸããé ãæ©ãŸããããšãªããçŽæçã«ã³ãŒããæžãããšãã§ããŸãã
8.2 ãã¬ãŒã ã¯ãŒã¯ãéžæããéã®ãã€ã³ã
ãã¡ãããGroovy ãã¬ãŒã ã¯ãŒã¯ãå šãŠã®èŠä»¶ã«å¯Ÿå¿ããŠããããã§ã¯ãããŸããããã¬ãŒã ã¯ãŒã¯ãéžæããéã«ã¯ããããžã§ã¯ãã®æ§è³ªãããŒã ã®ã¹ãã«ã»ãããéçºç°å¢ãªã©ãèæ ®ããããšãéèŠã§ãã
ãããããããŸã§è§£èª¬ããããã«ãGroovy ãã¬ãŒã ã¯ãŒã¯ã¯ãã®å©äŸ¿æ§ãšæ±ããããã察å¿åã®é«ãããèŠãŠããæ§ã ãªã·ãŒã³ã§æŽ»çšã§ããä¿¡é Œæ§ã®é«ããã¬ãŒã ã¯ãŒã¯ã§ãã
ãããããã¬ãŒã ã¯ãŒã¯ãéžæããéã«ã¯ãGroovy ãã¬ãŒã ã¯ãŒã¯ã®ååšããã²é ã«çããŠãããŠãã ããããã£ãšãéçºè ãšããŠã®ã¹ãã«ã¢ããããããããã¢ããªã±ãŒã·ã§ã³ã®éçºã«åœ¹ç«ã€ãšèããŸãã