ズンドコキヨシ with Elixir

More than 3 years have passed since last update.

よくわからないけど、「ズンドコキヨシ」を書けばいいらしい


zudokiyon.exs

defmodule Zudokiyon do

def zudo!, do: zudo([])

defp zudo([:do, :zu, :zu, :zu, :zu]), do: format(:ki) |> IO.puts
defp zudo(list), do: [tap(generate_zudo, &write/1) | list] |> Enum.take(5) |> zudo

defp generate_zudo, do: Enum.random([:zu, :do])

defp tap(v, f), do: (f.(v); v)

defp write(zudo), do: zudo |> format |> IO.write
defp format(:ki), do: "キ・ヨ・シ!"
defp format(:zu), do: "ズン"
defp format(:do), do: "ドコ"
end

Zudokiyon.zudo!