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);