23 lines
651 B
Text
23 lines
651 B
Text
% Pick according to a frequency table
|
|
go3 =>
|
|
_ = random2(),
|
|
Max = 17,
|
|
S = letter_freq_wheel(),
|
|
foreach(_ in 1..10)
|
|
println([choice(S) : _ in 1..1+choice(Max)])
|
|
end,
|
|
nl.
|
|
|
|
% Frequencies of letters converted to a "roulette wheel".
|
|
letter_freq_wheel = Chars =>
|
|
Freq =
|
|
[ [e,12.02],[t,9.10],[a,8.12],[o,7.68],[i,7.31],[n,6.95],[s,6.28],
|
|
[r,6.02],[h,5.92],[d,4.32],[l,3.98],[u,2.88],[c,2.71],[m,2.61],
|
|
[f,2.30],[y,2.11],[w,2.09],[g,2.03],[p,1.82],[b,1.49],[v,1.11],
|
|
[k,0.69],[x,0.17],[q,0.11],[j,0.10],[z,0.07]
|
|
],
|
|
Chars = [],
|
|
foreach([C,F] in Freq)
|
|
Chars := Chars ++ [C : _ in 1..ceiling(10*F)]
|
|
end,
|
|
nl.
|