7 个版本
使用旧的 Rust 2015
0.1.9 | 2019 年 4 月 3 日 |
---|---|
0.1.8 | 2019 年 3 月 17 日 |
0.1.5 | 2018 年 6 月 13 日 |
0.1.2 | 2018 年 5 月 16 日 |
#14 在 #english-words
5.5MB
1.5K SLoC
[Auto_Correct] docsrs
这是什么
此库提供在 1 ~ 3 修改距离内的单词自动更正建议服务。其中 1 修改距离表示以下操作之一:插入、删除、替换或交换。请注意,编辑距离的学术定义不包括交换操作,通常将替换操作视为 2 修改距离,这并不反映人类倾向于犯的典型打字错误。
目前该项目仅支持英语单词更正,我们计划将服务扩展到更多语言。
如何使用
在项目的 Cargo.toml
中添加依赖项
[dependencies]
auto_correct = "^0.1.0"
...
在 src\main.rs
extern crate auto_correct;
use auto_correct::prelude::*;
fn main() {
// Initialize the service. By default we use the EN-US dictionary with frequency pre-defined, and only give suggestions
// within 1 edit distance.
let correct_service = AutoCorrect::new();
// Vector `results` contains an array of the `Candidate` objects, which is sorted by scores
let results = correct_service.candidates("wodr");
// Print out the result to the screen
for idx in 0..results.len() {
println!("Suggestion #{}: {}; Score: {}; Edit Distance: {}",
idx, results[idx].word, results[idx].score, results[idx].edit);
}
}
或者,如果您想使用更响应式的方法,可以使用 candidate_async
函数来获取更正
extern crate auto_correct;
use std::sync::mpsc;
use auto_correct::prelude::*;
fn main() {
// Initialize the service
let correct_service = AutoCorrect::new();
let (tx, rx) = mpsc::channel();
// Vector `results` contains an array of the `Candidate` objects, which is sorted by scores
correct_service.candidates_async("wodr", tx);
// Print out the result to the screen when receiving new suggestions. Note that the received results are not ranked.
for result in rx {
println!("Suggestion: {}; Score: {}; Edit Distance: {}",
result.word, result.score, result.edit);
}
}