Module: Unicoder::ReplaceCommonWords

Included in:
Builder::Name, Builder::SequenceName
Defined in:
lib/unicoder/replace_common_words.rb

Instance Method Summary collapse

Instance Method Details

#replace_common_words!(which_index, words, count = 500, _ = ?[.ord, min_word_length = 4) ⇒ Object



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