ズンドコキヨシ with Elixir

  • 9
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

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

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!