RosettaCodeData/Task/Letter-frequency/Forth/letter-frequency.fth
2023-07-01 13:44:08 -04:00

17 lines
327 B
Forth

create counts 26 cells allot
: freq ( filename -- )
counts 26 cells erase
slurp-file bounds do
i c@ 32 or [char] a -
dup 0 26 within if
cells counts +
1 swap +!
else drop then
loop
26 0 do
cr [char] ' emit [char] a i + emit ." ': "
counts i cells + @ .
loop ;
s" example.txt" freq