いつ、どこで、誰が、何をしたジェネレータ
30分プログラム、その699。いつ、どこで、誰が、何をしたジェネレータ。
ランダムに文章を生成するよ! Printfがとっても欲しいよ!
使い方
昨日、海でキミが寝たval it = () : unit - println (make ()); 昨日、地の中で知らない人が食事をした val it = () : unit - println (make ()); 昨日、山でキミが戦った
ソースコード
val when = ["すごい昔", "昨日", "今日", "明日", "すごい未来"]; val where_ = ["海", "山", "川", "地の中", "月"]; val who = ["ボク", "キミ", "知らない人"]; val what = ["寝た", "戦った", "食事をした", "踊った"]; fun srand () = let val d = Date.fromTimeLocal (Time.now ()) val m = Date.minute d val s = Date.second d in Random.rand (m,s) end; fun choice r xs = let val n = List.length xs val i = (Random.randInt r) mod n in List.nth (xs,i) end; fun println s = (print s; print "\n"); fun make () = let val r = srand () in String.concat [ choice r when, "、", choice r where_, "で", choice r who, "が", choice r what ] end;