我正在尝试编写一个将数字转换为字节字符串文字的stringify!宏,类似于宏如何将其参数转换为a &str.
更具体地说,我怎么写这个:
byte_stringify!(10) -> b"10"
我将使用它来创建大量的const结构,所以我不能真正依赖于调用方法str.
更野心勃勃的是,我实际上是在将参数转换为字节字符串之前尝试添加和附加一些文本:
make_arg!(10) -> b"x10y"
更新:
老bytes!宏在哪里去了?我想我想:
bytes!(stringify!(10))
你不能; 至少,不是没有编写编译器插件,这远远超出了简单的Stack Overflow响应的范围.
在Rust Book 的Compiler Plugins章节中有关于这个主题的一些基本文档,但请记住,编译器插件只适用于每晚Rust; 它们不适用于任何稳定版或测试版,因此也会锁定任何使用它们的板条箱来进行夜间生锈.
对于那个很抱歉.