謹賀新年(Groovy version)

def data = "明けましておめでとうございます本年もよろしくです".reverse()
def script = "class 謹賀新年 extends RuntimeException{}\n";
for (int i = 0; i < data.length() -1; i ++) {
  script += "def ${data.charAt(i)}${'_'.multiply(i)}(){${data.charAt(i + 1)}${'_'.multiply(i + 1)}()}\n"
}
script += "def ${data.charAt(data.length() -1)}${'_'.multiply(data.length() -1)}(){ throw new 謹賀新年()}\n"
script += "${data.charAt(0)}()\n"
Eval.me(script)

新年早々障害メールてみていて思いついたが、いまいちうまくいかない。。。
。とか全角空白はメソッドにつかえないのか。。。