[][src]Function levenshtein_diff::edit::apply_edits

pub fn apply_edits<T, U>(source: U, edits: &Vec<Edit<T>>) -> Vec<T> where
    T: Clone + PartialEq,
    U: AsRef<[T]>, 

Applies a sequence of edits on the source sequence, and returns a vector representing the target sequence.

Arguments

  • source - The source sequence
  • edits - A reference to a vector of edits of the same type as elements of source

Examples

use levenshtein_diff as levenshtein;

let s1 = "FLOWER";
let expected_s2 = "FOLLOWER";

let (_, matrix) = levenshtein::distance(s1, expected_s2);

let edits = levenshtein::generate_edits(s1, expected_s2, &matrix).unwrap();

let target = levenshtein::apply_edits(s1, &edits);

let s2 = match std::str::from_utf8(&target) {
    Ok(v) => v,
    Err(_) => panic!("Not a valid UTF-8 sequence!"),
};

assert_eq!(s2, expected_s2);