RosettaCodeData/Task/Entropy/Ruby/entropy.rb

12 lines
207 B
Ruby
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
def entropy(s)
counts = s.chars.tally
leng = s.length.to_f
counts.values.reduce(0) do |entropy, count|
freq = count / leng
entropy - freq * Math.log2(freq)
end
end
p entropy("1223334444")