#acronym #methods #cool #assist #naming #tool #candidate

goodname

Goodname:辅助您为方法和软件进行酷炫命名的工具

2 个版本

0.2.2 2022年8月11日
0.2.1 2022年8月11日

#1012文本处理

MIT 许可证

24KB
614

Goodname

Goodname 是一个辅助您为方法和软件进行酷炫命名的工具。给定您的方法或软件的简要描述,此工具将列出描述中形成子序列的名称候选(即 首字母缩略词)。

例如,给定软件描述 "Character-wise Double-array Dictionary",此工具将建议一些名称候选,如 "crawdad" 和 "cheddar"。

示例

use goodname::{Enumerator, Lexicon, Match};

let words = &["aa", "abaab", "abb", "bab", "bb", "bbb", "cbab", "ccbab"];
let lex = Lexicon::new(words).unwrap();
let text = "abAaB";

let enumerator = Enumerator::new(&lex, text).unwrap().prefix_len(2).unwrap();
let matched = enumerator.all_subsequences().unwrap();

assert_eq!(matched.len(), 4);
assert_eq!(
    enumerator.format_match(&matched[0]),
    ("abaab".to_string(), "ABAAB".to_string())
);
assert_eq!(
    enumerator.format_match(&matched[1]),
    ("bab".to_string(), "aBAaB".to_string())
);
assert_eq!(
    enumerator.format_match(&matched[2]),
    ("Cbab".to_string(), "aBAaB".to_string())
);
assert_eq!(
    enumerator.format_match(&matched[3]),
    ("CCbab".to_string(), "aBAaB".to_string())
);

依赖项

~165KB