Like Ruby's Abbrev module
use abbrev::abbrev;
fn main() {
let xs = vec!["foo", "fool", "folding", "flop"];
let map = abbrev(&xs);
println!("{:#?}", map);
}
And it will print:
{
"fl": "flop",
"flo": "flop",
"flop": "flop",
"fol": "folding",
"fold": "folding",
"foldi": "folding",
"foldin": "folding",
"folding": "folding",
"foo": "foo",
"fool": "fool"
}