概要
paiza.ioでelixirやってみた。
zundokoやってみた。
サンプルコード
defmodule Zundoko do
def start() do
Stream.repeatedly(fn -> ["ズン", "ドコ"] |> Enum.random end) |> run
end
def run(input) do
match = ["ドコ", "ズン", "ズン", "ズン", "ズン", "ドコ"]
eol = "キ・ヨ・シ!"
input
|> Stream.transform([], fn(item, acc) ->
if List.last(acc) == eol do
{ :halt, nil }
else
if Enum.count(acc) < Enum.count(match) do
{ [item], acc ++ [item] }
else
if acc == match, do: { [eol], acc ++ [eol] }, else: { [item], [item] }
end
end
end)
|> Enum.to_list
|> IO.puts
end
end
Zundoko.start
実行結果
ドコドコズンズンズンドコズンドコドコズンズンズンドコドコズンドコズンドコドコズンズンドコドコズンドコズンズンズンドコドコズンドコドコドコドコズンズンズンズンズンズンドコドコズンズンドコズンズンドコズンズンドコドコズンズンズンズンドコドコズンズンドコドコズンドコズンズンズンズンドコズンドコズンズンズンズンズンズンズンズンドコドコズンズンズンズンドコドコズンズンドコズンドコドコドコドコズンドコドコズンズンズンズンズンズンズンドコドコドコズンズンドコズンドコズンドコズンズンドコドコドコズンズンズンズンズンズンドコズンズンドコドコズンドコドコズンドコドコズンズンドコドコドコドコズンズンドコズンドコドコズンドコドコズンズンドコズンドコドコズンドコドコズンドコドコドコドコドコズンドコズンズンドコドコドコドコズンズンドコズンズンドコズンドコズンズンドコドコドコズンドコドコドコズンドコドコズンズンズンドコズンドコズンズンドコドコズンズンドコドコドコドコズンドコドコズンドコズンドコズンズンドコドコドコズンズンドコズンズンズンズンドコドコドコズンドコドコドコズンズンドコズンズンドコドコドコズンズンズンドコズンズンズンドコドコドコズンドコズンドコズンズンドコズンズンドコズンズンドコズンズンドコドコズンドコズンズンズンズンズンドコドコドコドコズンズンズンドコドコドコドコズンドコドコドコドコドコドコズンズンドコズンズンドコズンズンドコズンドコドコドコズンズンズンドコドコドコズンズンズンズンドコズンドコドコドコドコドコドコズンドコドコドコドコドコドコドコズンドコズンドコドコドコズンドコズンドコズンズンドコドコズンドコズンズンズンドコドコズンズンドコズンドコドコズンドコズンドコズンドコズンズンズンドコドコズンズンズンドコドコズンドコドコズンドコドコドコズンズンズンズンズンズンドコドコドコドコドコドコドコズンズンドコドコズンズンドコズンドコドコズンドコドコズンドコドコズンズンドコズンドコドコドコドコドコズンドコズンズンドコズンズンズンドコズンズンドコドコドコドコズンズンドコドコズンズンドコドコズンドコドコドコズンズンドコズンズンドコズンズンズンドコドコドコズンズンズンドコドコドコズンドコズンドコドコズンドコズンズンズンズンズンズンズンドコズンズンズンドコズンドコドコドコズンズンズンドコドコズンドコドコズンズンドコズンズンズンドコズンズンドコズンズンドコドコドコドコドコズンドコドコドコドコズンズンズンドコズンドコズンズンズンズンドコキ・ヨ・シ!
成果物
以上。