Function distances::strings::levenshtein_custom
source · pub fn levenshtein_custom<U: UInt>(
penalties: Penalties<U>
) -> impl Fn(&str, &str) -> U
Expand description
Creates a function to compute the Levenshtein distance between two strings
using a custom set of penalties. The generated function will have the same
signature as levenshtein
.
§Arguments
penalties
: the set of penalties to use
§Examples
use distances::strings::{levenshtein_custom, Penalties};
let penalties = Penalties::new(0, 1, 1);
let metric = levenshtein_custom(penalties);
let x = "NAJIBEATSPEPPERS";
let y = "NAJIBPEPPERSEATS";
let distance: u16 = metric(x, y);
assert_eq!(distance, 8);
let x = "TOMEATSWHATFOODEATS";
let y = "FOODEATSWHATTOMEATS";
let distance: u16 = metric(x, y);
assert_eq!(distance, 6);