7 个版本
0.3.0 | 2023 年 3 月 18 日 |
---|---|
0.2.1 | 2022 年 10 月 21 日 |
0.2.0 | 2020 年 11 月 6 日 |
0.1.3 | 2020 年 11 月 3 日 |
0.1.2 | 2020 年 10 月 25 日 |
#14 在 #literal
434 每月下载量
用于 2 crates
9KB
74 行
expand
宏,用于展开字节数组和字符串字面量
使用说明
use expand::expand;
// expanding a byte string
assert_eq!(
&expand!([@b"Hello,", b' ', @b"world", b'!']),
b"Hello, world!"
);
// expanding a string
assert_eq!(
expand!(vec![@"Hello,", ' ', @"world", '!']),
"Hello, world!".chars().collect::<Vec<char>>(),
);
// pattern matching
if let expand!([@b"patt", x, y, b'n', ..]) = b"pattern matching" {
assert_eq!(x, &b'e');
assert_eq!(y, &b'r');
} else {
panic!("pattern matching failed");
}
// more pattern matching
if let expand!([@b"msg = \"", xs @ .., b'"']) = br#"msg = "Hello, world!""# {
assert_eq!(xs, b"Hello, world!");
} else {
panic!("pattern matching failed");
}
变更日志
查看 CHANGELOG.md
依赖项
~310–770KB
~18K SLoC