#concat #comma #join #space #line #prefix

无 std concat-with

扩展 concat! 宏在 std 中的功能

10 个版本

0.2.9 2023年11月30日
0.2.8 2022年11月2日
0.2.7 2022年3月5日
0.2.6 2021年4月21日
0.1.0 2020年6月2日

#198Rust 模式

Download history 6545/week @ 2024-04-10 10030/week @ 2024-04-17 13628/week @ 2024-04-24 13176/week @ 2024-05-01 11852/week @ 2024-05-08 16191/week @ 2024-05-15 16178/week @ 2024-05-22 17593/week @ 2024-05-29 14130/week @ 2024-06-05 13455/week @ 2024-06-12 14409/week @ 2024-06-19 16448/week @ 2024-06-26 8710/week @ 2024-07-03 7246/week @ 2024-07-10 7746/week @ 2024-07-17 6030/week @ 2024-07-24

32,808 每月下载量
34 包(22 个直接使用)中使用

MIT 许可证

14KB
180

Concat With

CI

虽然 concat! 宏在 std 中很有用,可以创建静态字符串切片(&'static str),但它不能为这些设置分隔符。因此,该软件包提供了一个额外的 concat! 宏来处理这种情况。

assert_eq!("test10btrue", concat_with::concat!("test", 10, 'b', true));
assert_eq!("test, 10, b, true", concat_with::concat!(with ", ", "test", 10, 'b', true));
assert_eq!("test\n10\nb\ntrue", concat_with::concat_line!("test", 10, 'b', true));

还可以添加前缀和后缀。

assert_eq!("Someone says: Hello.\nSomeone says: Nice to meet you!", concat_with::concat_line!(prefix "Someone says: ", "Hello.", "Nice to meet you!"));

创建您自己的宏

可以使用 concat_impl! 宏来创建您自己的宏,例如 concat_line!,它可以连接由特定字面量分隔的字面量。

#[doc(hidden)]
pub use concat_with::{concat, concat_impl}; // re-export `concat!` and `concat_impl!` if your custom macros use `#[macro_export]`

concat_impl! {
    #[macro_export]
    /// Concatenates literals into a static string slice separated by a comma and a whitespace, `, `. Prefixes and suffixes can also be added.
    concat_with_comma => ", ",
    #[macro_export]
    /// Concatenates literals into a static string slice separated by a colon, `:`. Prefixes and suffixes can also be added.
    concat_with_colon => ':',
}

assert_eq!("test, 10, b, true", concat_with_comma!("test", 10, 'b', true));
assert_eq!("test:10:b:true", concat_with_colon!("test", 10, 'b', true));

Crates.io

https://crates.io/crates/concat-with

文档

https://docs.rs/concat-with

许可证

MIT

无运行时依赖