若干、旬を過ぎた感はありますが....勉強のアウトプットがてら書いてみました。
例によって元ネタ
「進捗・どう・です・か」をランダムに表示し「進捗どうですか」が完成したら煽ってくるプログラム
他の方のelixir解
Elixirで進捗どうですか?
shinchoku.ex
defmodule Shinchoku do
@list ["進捗", "どう", "です", "か"]
@len length(@list)
@success Enum.join(@list)
defp get_random do
Enum.at(@list, :random.uniform(@len) - 1)
end
defp doudesuka(s) do
case String.ends_with?(s, @success) do
true -> "#{s}???\n#{String.length(s)}文字で煽られました。!!!!!"
false -> doudesuka(s <> get_random)
end
end
def doudesuka do
:random.seed :os.timestamp
doudesuka(get_random)
end
end
IO.puts Shinchoku.doudesuka
けっか
> mix run shinchoku.ex
かどうですどうかどうかどうですですですかですですどう進捗進捗進捗どうどうどうですかかです進捗どう進捗進捗進捗かかどう進捗かかどうどうどう進捗かどうかどうどうどうですですどうですかかかどう進捗進捗進捗ですかかどう進捗かかですです進捗ですどうですですかですどうですか進捗どうどうかか進捗か進捗どうかですです進捗ですですですです進捗ですかですですかかどうどうです進捗進捗です進捗どう進捗か進捗どう進捗どうです進捗進捗です進捗どうかですです進捗どうです進捗ですかどうどうか進捗か進捗どう進捗どうどう進捗です進捗進捗ですですかかどうですかですかですどうかかか進捗どうですですどうどう進捗ですどうです進捗進捗か進捗進捗かかかかどう進捗かどう進捗進捗ですかかかですどうどうですどうかですどうですですです進捗進捗どうですか???
353文字で煽られました。