Natural ordering for Rust. (also known as
This allows for the comparison like this:
let mut files = vec!("rfc2086.txt", "rfc822.txt", "rfc1.txt"); files.sort_by(|&a, &b| natord::compare(a, b)); assert_eq!(files, ["rfc1.txt", "rfc822.txt", "rfc2086.txt"]);
It provides a
compare_ignore_case function for comparing strings,
and also a
compare_iter function for the customizable algorithm.
There are multiple natural ordering algorithms available.
This version of natural ordering is inspired by
See the test cases in the source code to see what it can do and it cannot.
Natord is written by Kang Seonghoon and licensed under the MIT/X11 license.