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