apply_edits

Function apply_edits 

Source
pub fn apply_edits<T: Clone + PartialEq>(
    source: &[T],
    edits: &[Edit<T>],
) -> Vec<T>
Expand description

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.as_bytes(), expected_s2.as_bytes());

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

let target = levenshtein::apply_edits(s1.as_bytes(), &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);