1. Qiita
  2. 投稿
  3. jq

ズンドコキヨシ with jq

  • 8
    いいね
  • 0
    コメント

概要

jqコマンドでズンドコキヨシです。

参考: http://qiita.com/y__sama/items/7c451dfd706f9b36729d

コード

zndk.jq
def zndkkyc:
  ["ズン", "ドコ"] as $zndk |
  def _zndkkyc(seed):
    def nextseed(x): (x * 9301 + 49297) % 233280;
    def rand(seed): seed / (233280 + 1);
    def sample(seed):
      . as $in | . | nth(rand(seed) * 10 | floor % ($in | length));

    if .[-5:] != ["ズン", "ズン", "ズン", "ズン", "ドコ"] then
      nextseed(seed) as $seed | . + ([$zndk | sample($seed)]) | _zndkkyc($seed)
    else
      . + ["キ・ヨ・シ!"]
    end;

  [] | _zndkkyc(100);
zndkkyc | join("")

randが無いので線形合同法でやりました。

実行と結果

$ jq -r -n -f zndk.jq
ドコドコズンズンズンドコズンズンズンドコドコズンズンドコドコドコズンズンドコドコドコズンドコドコズンドコズンドコドコズンドコズンズンズンズンドコキ・ヨ・シ!
Comments Loading...