module Levenshtein
¶
Levenshtein distance methods.
Class methods¶
.distance(string1 : String, string2 : String) : Int32
¶
(string1 : String, string2 : String) : Int32
Computes the levenshtein distance of two strings.
require "levenshtein"
Levenshtein.distance("algorithm", "altruistic") # => 6
Levenshtein.distance("hello", "hallo") # => 1
Levenshtein.distance("こんにちは", "こんちは") # => 1
Levenshtein.distance("hey", "hey") # => 0
.find(name, tolerance = nil
¶
(name, tolerance = nil
Finds the best match for name among strings added within the given block. tolerance can be used to set maximum Levenshtein distance allowed.
require "levenshtein"
best_match = Levenshtein.find("hello") do |l|
l.test "hulk"
l.test "holk"
l.test "halka"
l.test "ello"
end
best_match # => "ello"
.find(name, all_names, tolerance = nil)
¶
(name, all_names, tolerance = nil)
Finds the best match for name among strings provided in all_names. tolerance can be used to set maximum Levenshtein distance allowed.
require "levenshtein"
Levenshtein.find("hello", ["hullo", "hel", "hall", "hell"], 2) # => "hullo"
Levenshtein.find("hello", ["hurlo", "hel", "hall"], 1) # => nil