Spec-Zone.ru › Ruby 3.4

модуль DidYouMean::JaroWinkler

Константы

THRESHOLD
WEIGHT

Публичные методы экземпляров

distance (str1, str2)
Исходный код
# File lib/did_you_mean/jaro_winkler.rb, line 67
def distance(str1, str2)
  jaro_distance = Jaro.distance(str1, str2)

  if jaro_distance > THRESHOLD
    codepoints2  = str2.codepoints
    prefix_bonus = 0

    str1.each_codepoint do |char1|
      char1 == codepoints2[prefix_bonus] && prefix_bonus < 4 ? prefix_bonus += 1 : break
    end

    jaro_distance + (prefix_bonus * WEIGHT * (1 - jaro_distance))
  else
    jaro_distance
  end
end

Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API