5 个版本 (破坏性更新)
新版本 0.6.0 | 2024 年 8 月 13 日 |
---|---|
0.5.0 | 2024 年 8 月 12 日 |
0.4.0 | 2024 年 7 月 26 日 |
0.3.0 |
|
0.1.0 | 2024 年 7 月 15 日 |
778 在 开发工具 中排名
每月下载量:599
26KB
589 行
strim
此crate提供了一个过程宏,用于从字符串、字节字符串和C字符串字面量中删除所有空白行和前后空白字符。
理由
Rust的字符串(字节字符串和C字符串)字面量在需要通过使用\
字符将其拆分为多行时非常方便,例如。
let string = "\
Hello,\
World!\
";
assert_eq!(string, "Hello,World!");
然而,当不得不使用原始字面量时,就不能再使用\
字符来取消拆分和取消缩进(即修剪)行。这是strim::trim
宏的主要用例。
use strim::trim;
let string = trim!(r#"
"Hello,
World!"
"#);
assert_eq!(string, "\"Hello,World!\"");
文档
有关如何使用trim
宏的更详细说明,请参阅其文档:https://docs.rs/strim/0.6.0/strim/macro.trim.html。
安装
将以下内容添加到您的Cargo.toml
[dependencies]
strim = "~0.6.0"
或者使用
$ cargo add strim@~0.6.0
错误报告和功能请求
如果您发现某些功能未按预期工作并希望报告,或者您希望提交功能请求,请在这两个方面在Codeberg上的原始仓库的“问题”部分中执行。
开发和贡献
要查看更改的结果,最简单快捷的方法是使用此仓库中包含的dummy
项目,即
$ cd dummy/
$ cargo test
所有无效情况都必须产生易于阅读、正确且适当引用的编译错误,即它们应该下划线并抱怨相关的不正确部分。导致此类编译错误的测试都隐藏在compile-errors
功能下。
$ cd dummy/
$ cargo test --features compile-errors
Rust版本
该项目使用<[u8]>::trim_ascii
进行字节字符串修剪,但是,该方法仅在1.80.0之后才实现。因此,它也条件性地实现了相同的功能。因此,应该使用该版本及其之前的版本进行测试。
注意:最终,这种复杂性将在后续版本中被移除,当
strim
被基本视为完整时,因此它最后一个仍提供替代实现的版本将具有后来版本的大部分(如果不是全部)功能。
$ ./scripts/test.sh local
许可证
版权所有 ©2024 彼得·瓦罗
本程序是自由软件:您可以按照自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,许可证版本为3,或者(根据您的选择)任何较新版本。
分发本程序是希望它可能有用,但没有任何保证;甚至没有关于商业性或适用于特定目的的暗示性保证。有关详细信息,请参阅GNU通用公共许可证。
您应该已经随本程序收到了GNU通用公共许可证的一份副本。如果没有,请参阅https://gnu.ac.cn/licenses。
依赖项
~265–700KB
~17K SLoC