1. Qiita
  2. 投稿
  3. Elixir

ズンドコキヨシ with Elixir(二番煎じ)

  • 2
    いいね
  • 0
    コメント

乗るしかない、このビックウェーブに!

defmodule Kiyoshi do

  @zun "ズン"
  @doko "ドコ"
  @kiyoshi "キ・ヨ・シ"

  def zundoko(), do: _zundoko(0, _gen_word, "")

  defp _zundoko(0, word = @zun,  acc), do: _zundoko(1, _gen_word, acc <> word)
  defp _zundoko(0, word = @doko, acc), do: _zundoko(0, _gen_word, acc <> word)
  defp _zundoko(1, word = @zun,  acc), do: _zundoko(2, _gen_word, acc <> word)
  defp _zundoko(1, word = @doko, acc), do: _zundoko(0, _gen_word, acc <> word)
  defp _zundoko(2, word = @zun,  acc), do: _zundoko(3, _gen_word, acc <> word)
  defp _zundoko(2, word = @doko, acc), do: _zundoko(0, _gen_word, acc <> word)
  defp _zundoko(3, word = @zun,  acc), do: _zundoko(4, _gen_word, acc <> word)
  defp _zundoko(3, word = @doko, acc), do: _zundoko(0, _gen_word, acc <> word)
  defp _zundoko(4, word = @zun,  acc), do: _zundoko(4, _gen_word, acc <> word)
  defp _zundoko(4, word = @doko, acc), do: _zundoko(5, _gen_word, acc <> word)

  defp _zundoko(5, _, acc), do: acc <> @kiyoshi

  defp _gen_word(), do: Enum.random [@zun, @doko]
end
iex(30)> Kiyoshi.zundoko
Kiyoshi.zundoko
"ズンドコドコズンズンズンズンドコキ・ヨ・シ"

キ・ヨ・シ!キ・ヨ・シ!

Comments Loading...