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