Erlang でズンドコ
周りでズンドコが流行ってたので Erlang で実装してみました。
Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから
— てくも (@kumiromilk) March 9, 2016
「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた
kiyoshi.erl
-module(kiyoshi). -export([zundoko/0]). zundoko() -> zundoko([say(), say(), say(), say(), say()], []). zundoko(["ドコ", "ズン", "ズン", "ズン", "ズン"], Rest) -> io:format(string:join(lists:reverse(["キ・ヨ・シ!~n", "ドコ", "ズン", "ズン", "ズン", "ズン" | Rest]), "、")); zundoko([A, B, C, D, E], Rest) -> zundoko([say(), A, B, C, D], [E | Rest]). say()-> case random:uniform(2) of 1 -> "ズン"; 2 -> "ドコ" end.
実行
1> c("kiyoshi"). {ok,kiyoshi} 2> kiyoshi:zundoko(). ドコ、ズン、ズン、ズン、ドコ、ズン、ドコ、ドコ、ズン、ズン、ズン、ズン、ズン、ドコ、キ・ヨ・シ! ok
所感
なんか微妙な感じで圧倒的力不足を感じる。