#编译时 # #字符串字面量 #文本处理

strim

宏,用于从字符串字面量中去除空白字符

5 个版本 (破坏性更新)

新版本 0.6.0 2024 年 8 月 13 日
0.5.0 2024 年 8 月 12 日
0.4.0 2024 年 7 月 26 日
0.3.0 2024 年 7 月 26 日
0.1.0 2024 年 7 月 15 日

778开发工具 中排名

Download history 206/week @ 2024-07-15 211/week @ 2024-07-22 44/week @ 2024-07-29 265/week @ 2024-08-12

每月下载量:599

GPL-3.0-or-later

26KB
589

strim

status-badge

此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