1. saba1024

    Posted

    saba1024
Changes in title
+ズンドコキヨシ with Groovy
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,27 @@
+何やら流行っているようなのでGroovyでチャレンジ。
+[ズンドコキヨシまとめ](http://qiita.com/shunsugai@github/items/971a15461de29563bf90)
+
+こういうコードは凄く苦手。。。
+一応末尾再帰になっている(はず)のと、`zundokoTime`の値をいじればその分ズンがドコまでズンズン続く回数を指定出来まズン。
+
+```groovy
+def rnd = new Random()
+def zun = "ズン"
+def doko = "ドコ"
+def zundokoTime = 4
+
+({ lyric, lyrics = [] ->
+ if (lyrics == [zun]*zundokoTime + doko) {
+ print "\キ・ヨ・シ!/"
+ } else {
+ print "${lyric} "
+ trampoline([zun, doko][rnd.nextInt(2)], lyrics in (1..zundokoTime).collect{[zun]*it} ? lyrics + lyric : [lyric])
+ }
+}).trampoline()([zun, doko][rnd.nextInt(2)])
+```
+
+実行結果:
+
+```
+ドコ ドコ ズン ズン ドコ ズン ドコ ドコ ズン ドコ ズン ドコ ズン ズン ズン ドコ ドコ ズン ズン ズン ズン ズン ズン ドコ ドコ ドコ ドコ ドコ ズン ドコ ドコ ズン ズン ドコ ズン ズン ズン ズン ズン ズン ドコ ドコ ズン ドコ ドコ ドコ ドコ ズン ズン ズン ドコ ドコ ズン ドコ ドコ ドコ ズン ズン ドコ ズン ズン ズン ズン ドコ \キ・ヨ・シ!/
+```