5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/unicoder/replace_common_words.rb', line 5
def replace_common_words!(which_index, words, count = 500, _ = ?[.ord, min_word_length = 4)
base = @words.join.chars.max.ord + 1
puts "Starting to replace the #{count} most common words (replace base: #{base})"
@index[:REPLACE_BASE] = base
@index[:COMMON_WORDS] = words.
select{_1.size >= min_word_length}.
tally.
max_by(count){_2}.
map(&:first)
@index[which_index].each{|_, name|
@index[:COMMON_WORDS].each_with_index{|word, index|
name.gsub! word + " ", [base + index].pack("U")
}
}
end
|