diff options
Diffstat (limited to 'guides/rails_guides')
-rw-r--r-- | guides/rails_guides/generator.rb | 1 | ||||
-rw-r--r-- | guides/rails_guides/levenshtein.rb | 9 |
2 files changed, 6 insertions, 4 deletions
diff --git a/guides/rails_guides/generator.rb b/guides/rails_guides/generator.rb index aa900454c8..43f6f7eecf 100644 --- a/guides/rails_guides/generator.rb +++ b/guides/rails_guides/generator.rb @@ -57,6 +57,7 @@ require 'active_support/core_ext/object/blank' require 'action_controller' require 'action_view' +require 'rails_guides/markdown' require 'rails_guides/indexer' require 'rails_guides/helpers' require 'rails_guides/levenshtein' diff --git a/guides/rails_guides/levenshtein.rb b/guides/rails_guides/levenshtein.rb index 8a908a4339..049f633258 100644 --- a/guides/rails_guides/levenshtein.rb +++ b/guides/rails_guides/levenshtein.rb @@ -7,19 +7,20 @@ module RailsGuides t = str2 n = s.length m = t.length - max = n/2 return m if (0 == n) return n if (0 == m) - return n if (n - m).abs > max d = (0..m).to_a x = nil - str1.each_char.each_with_index do |char1,i| + # avoid duplicating an enumerable object in the loop + str2_codepoint_enumerable = str2.each_codepoint + + str1.each_codepoint.with_index do |char1, i| e = i+1 - str2.each_char.each_with_index do |char2,j| + str2_codepoint_enumerable.with_index do |char2, j| cost = (char1 == char2) ? 0 : 1 x = [ d[j+1] + 1, # insertion |