LoginSignup
2
2

More than 5 years have passed since last update.

ズンドコキヨシ in D言語Lisp

Last updated at Posted at 2016-03-17

なんか先ほどQiitaの新着記事一覧をみていると興味深い文字列
「ズンドコキヨシ」
を発見。

何やら話題っぽいので少し記事を漁ってみると以下の記事にたどり着いた:

例のキヨシチェックを java で

上の記事で元ネタへのリンクがはってあった(元ネタは以下のツイート)

なるほどね?
ズンドコしてキ・ヨ・シ!すればいいわけか

ということで、D言語Lispで書いてみました(D言語Lispとは、D言語でラムダ式のネストを駆使してワンライナーを書いた時に、括弧が大量に含まれ一瞬Lispに見えることから勝手にD言語Lispと言っているだけであり、Lispとは関係ありません)

zundoko.d
import std.random,
       std.stdio;

void zundoko(int chain = 0) {
  (zun =>
    (doko =>
      (kiyoshi =>
        (GetRandom =>
          (output =>
            (write(output),
              (chain == 4 && output == doko)
                ? writeln(kiyoshi)
                : zundoko((output == zun ? chain + 1 : 0))
            )
          )(GetRandom(2) ? zun : doko)
        )((ulong n) => 
          ((Mt19937 gen) => 
            (gen.seed(unpredictableSeed), gen.front % n)
          )(Mt19937.init)
        )
      )("キ・ヨ・シ!")
    )("ドコ")
  )("ズン");
}

void main() {
  zundoko;
}

実行してみると

alphakai@MacBook-Pro ~/tmp % rdmd zundoko
ドコドコドコズンズンズンズンドコキ・ヨ・シ!

Let's ズンドコキヨシ!!

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2