func entropy(s) { [0] + (s.chars.freq.values »/» s.len) -> reduce { |a,b| a - b*b.log2 } } var n_max = 37 var words = ['1', '0'] { words.append(words[-1] + words[-2]) } * (n_max - words.len) say ('%3s %10s %15s %s' % ...) for i in ^words { var word = words[i] say ('%3i %10i %15.12f %s' % (i+1, word.len, entropy(word), word.len<30 ? word : '')) }