Class: DivergenceMeter::LevenshteinDistance
- Inherits:
-
Object
- Object
- DivergenceMeter::LevenshteinDistance
- Defined in:
- lib/divergence_meter/levenshtein_distance.rb
Overview
algorithm for levenshtein distance class.
Class Method Summary collapse
-
.run(word1, word2) ⇒ Fixnum
calculate levenshetein distance short cut method.
Instance Method Summary collapse
-
#run(word1, word2) ⇒ Fixnum
calculate levenshetein distance.
Class Method Details
.run(word1, word2) ⇒ Fixnum
calculate levenshetein distance short cut method.
8 9 10 |
# File 'lib/divergence_meter/levenshtein_distance.rb', line 8 def self.run(word1, word2) new.run(word1, word2) end |
Instance Method Details
#run(word1, word2) ⇒ Fixnum
calculate levenshetein distance
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/divergence_meter/levenshtein_distance.rb', line 16 def run(word1, word2) list = create_list(word1.size, word2.size) 1.upto(word1.size) do |n| 1.upto(word2.size) do |m| list[n][m] = [ list[n - 1][m] + 1, list[n][m - 1] + 1, list[n - 1][m - 1] + cost(word1[n - 1], word2[m - 1]) ].min end end list[word1.size][word2.size] end |