3个版本 (破坏性)
0.3.0 | 2023年3月21日 |
---|---|
0.2.0 | 2023年3月12日 |
0.1.0 | 2023年3月12日 |
#1029 in 文本处理
每月28次下载
18KB
428 行
uwildmat
uwildmat用Rust实现。
无依赖。
基于uwildmat原始C版本的实现,该版本是InterNetNews(INN)的一部分。
用法
# Cargo.toml
[dependencies]
uwildmat = "0.3"
// your_code.rs
use uwildmat::simple as uwildmat;
let text = "foo";
let pattern = "*foo*";
asserteq!(uwildmat(text, pattern), true);
// or:
use uwildmat::regular as uwildmat;
let text = "foo";
let pattern = "*foo*";
asserteq!(uwildmat(text, pattern), true);
// or:
use uwildmat::poison as uwildmat;
let text = "foo";
let pattern = "*foo*";
asserteq!(uwildmat(text, pattern), true);
与INN的uwildmat的差异
此模块将 不会 处理无效的UTF-8。INN的uwildmat(技术上)允许任何字节序列作为输入,即使它是无效的UTF-8。
开发
使用nightly工具链
$ rustup override set nightly
然后是常规的
$ cargo clean
$ cargo build
$ cargo test
$ cargo bench
基准测试
在做出更改时,首先检查它对性能的影响。
在做出更改之前,获取“杂项”基准测试组的基线。
$ cargo bench --bench misc -- --save-baseline before
在做出更改之后,将性能与基线进行比较。
$ cargo bench --bench misc -- --baseline before
构建脚本
构建脚本 src/build.rs
下载INN uwildmat测试套件并处理它,生成等效的Rust测试套件。
无运行时依赖
~0–2MB
~30K SLoC