乗るしかない、このビックウェーブに!
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
"ズンドコドコズンズンズンズンドコキ・ヨ・シ"
キ・ヨ・シ!キ・ヨ・シ!