3 个不稳定版本
0.5.1 | 2024年2月14日 |
---|---|
0.5.0 | 2023年4月26日 |
0.4.0 | 2022年5月9日 |
在算法类别中排名第238
每月下载量3,666次
在3个crate中使用
11KB
134 行
suggest
一个提供类似“你是指...吗?”等类似名称建议的最小库。此库为标准库中所有集合类型提供了建议特性。
此库旨在在运行时从未知建议列表中建议一个候选者,除了在clap
中已有的建议功能外。
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
suggest = "0.5"
示例
简单示例
此示例可以通过 cargo run --example simple
命令执行。
use suggest::Suggest;
fn main() {
let input = "instakk";
let list_commands = vec!["update", "install"];
if list_commands.contains(&input) {
return;
}
if let Some(sugg) = list_commands.suggest(input) {
println!("No command named `{}` found.", input);
println!("Did you mean `{}`?", sugg);
}
}
$ cargo run
No command named `instakk` found.
Did you mean `install`?
指定距离
use suggest::Suggest;
fn main() {
let input = "paoc";
let list_commands = vec!["poac", "poacpp"];
if list_commands.contains(&input) {
return;
}
if let Some(sugg) = list_commands.suggest_by(input, 2) {
println!("No command named `{}` found.", input);
println!("Did you mean `{}`?", sugg);
}
}
$ cargo run
No command named `paoc` found.
Did you mean `poac`?
支持的类型
如果有遗漏,请通过问题和拉取请求告知我。
序列
LinkedList
VecDeque
Vec
映射
HashMap
BTreeMap
要建议键,请使用 suggest::SuggestKey
特性。
集合
BTreeSet
HashSet
杂项
BinaryHeap
[T; N]
:原始数组[T]
:切片
贡献
欢迎贡献,包括问题和拉取请求。
构建
$ cargo build
测试
$ cargo build
$ cargo test
发布
GitHub 发布
$ git tag v0.1.0
$ git push origin v0.1.0
crates.io
$ cargo publish
依赖项
~13KB