From: mail@... Date: 2015-02-21T20:50:05+00:00 Subject: [ruby-core:68216] [Ruby trunk - Feature #10882] [Open] Provide Levenshtein distance implementation as part of stdlib Issue #10882 has been reported by Yuki Nishijima. ---------------------------------------- Feature #10882: Provide Levenshtein distance implementation as part of stdlib https://bugs.ruby-lang.org/issues/10882 * Author: Yuki Nishijima * Status: Open * Priority: Normal * Assignee: ---------------------------------------- [Levenshtein distance algorithm](http://en.wikipedia.org/wiki/Levenshtein_distance) has been used by Rubygems, Bundler, did_you_mean and Rails and I think it's popular enough to provide it as part of Ruby's stdlib. It still seems a bit too high-level though, but definitely useful (e.g. [adding "did you mean?" to rake](https://github.com/ruby/rake/pull/29)). API-wise, I would like to propose something like the following, but I'm totally open to hear the core team's opinions as I'm not sue if this is great. ```ruby require 'distance' Distance.levenshtein(str1, str2) ``` It would also be interesting to have `#distance` method on `String`: ```ruby "word".distance("other") ``` which is implemented as: ```ruby def distance(str, algorithm = :levenshtein) # calculate the distance here. end ``` so it can allow to change the algorythm when we add more (e.g. [Jaro���Winkler distance](http://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance)). -- https://bugs.ruby-lang.org/