ランダムなテキストの生成

30分プログラム、その588。エロと風俗情報満載 どう抜く?のためにランダムなテキストを生成してみる。
エロと風俗情報満載 どう抜く?がおもしろそうだったけど、30分で全部やるのは厳しい。
というわけで、最初の「ランダムな20文字を持つ文字列」を作ってみる。

使い方

57> meth:random_string().
"GSBOTCJHHLWOYQGWBFGLBWROEKFLHAM"
58> meth:random_string().
"SCCCDSSHCKCGBXMLCAKYSGHAQITDZUI"
59> meth:random_string().
"GHRPJKGEUCBLHXWIHRSAUJJTHDBZADH"

ソースコード

-module(meth).
-compile([export_all]).

init() ->
    {A1,A2,A3} = now(),
    random:seed(A1,A2,A3).

make_list(F,N) ->
    [F() || _ <- lists:seq(0,N)].

%% random text
random_char() ->
    random:uniform($Z-$A+1) - 1 + $A.

random_string() ->
    make_list(fun random_char/0,30).

%% distance
%
% assumption: both arguments has same length
% distance([],[]) ->
%    0;
% distance([X|XS],[Y|YS]) ->
%    (X-Y) + distance(XS,YS).