Letter frequency: Difference between revisions
Content added Content deleted
m (→{{header|Picat}}: Added {{out}}) |
No edit summary |
||
Line 7,304: | Line 7,304: | ||
Y 16 |
Y 16 |
||
Z 2 |
Z 2 |
||
</pre> |
|||
=={{header|Vlang}}== |
|||
<lang vlang>import os |
|||
struct LetterFreq { |
|||
rune int |
|||
freq int |
|||
} |
|||
fn main(){ |
|||
file := os.read_file('unixdict.txt')? |
|||
mut freq := map[rune]int{} |
|||
for c in file { |
|||
freq[c]++ |
|||
} |
|||
mut lf := []LetterFreq{} |
|||
for k,v in freq { |
|||
lf << LetterFreq{u8(k),v} |
|||
} |
|||
lf.sort_with_compare(fn(a &LetterFreq, b &LetterFreq)int{ |
|||
if a.freq > b.freq { |
|||
return -1 |
|||
} |
|||
if a.freq < b.freq { |
|||
return 1 |
|||
} |
|||
return 0 |
|||
}) |
|||
for f in lf { |
|||
println('${u8(f.rune).ascii_str()} ${f.rune} $f.freq') |
|||
} |
|||
}</lang> |
|||
{{out}} |
|||
<pre> D 25103 |
|||
A 25103 |
|||
e 65 20144 |
|||
a 61 16421 |
|||
i 69 13980 |
|||
r 72 13436 |
|||
t 74 12836 |
|||
o 6F 12738 |
|||
n 6E 12097 |
|||
s 73 10210 |
|||
l 6C 10061 |
|||
c 63 8216 |
|||
u 75 6489 |
|||
m 6D 5828 |
|||
d 64 5799 |
|||
p 70 5516 |
|||
h 68 5208 |
|||
g 67 4129 |
|||
b 62 4115 |
|||
y 79 3633 |
|||
f 66 2662 |
|||
w 77 1968 |
|||
k 6B 1925 |
|||
v 76 1902 |
|||
x 78 617 |
|||
z 7A 433 |
|||
j 6A 430 |
|||
q 71 378 |
|||
' 27 105 |
|||
& 26 6 |
|||
. 2E 6 |
|||
1 31 2 |
|||
8 38 1 |
|||
7 37 1 |
|||
6 36 1 |
|||
5 35 1 |
|||
4 34 1 |
|||
3 33 1 |
|||
2 32 1 |
|||
0 30 1 |
|||
9 39 1 |
|||
</pre> |
</pre> |
||