将数字转换为字节字符串文字,类似于stringify!()函数。

5
我正在尝试编写一个宏,将数字转换为字节字符串文字,类似于stringify!宏可以将其参数转换为&str的方式。
更具体地说,我要如何编写这个宏: byte_stringify!(10) -> b"10" 我将使用它来创建大量的const结构体,因此我不能依赖于在str上调用方法。
更有雄心壮志的是,我实际上正在尝试在将参数转换为字节字符串之前添加和附加一些文本: make_arg!(10) -> b"x10y" 更新:
旧的bytes!宏去哪了?我想要: bytes!(stringify!(10))
1个回答

5
你不能这样做;至少不是没有编写编译器插件的情况下,而编写编译器插件远超出了简单的 Stack Overflow 回答的范围。有关此主题的一些基本文档在 Rust Book 的 编译器插件 章节中有介绍,请注意,编译器插件仅适用于夜间版 Rust;它们不适用于任何稳定版或测试版,因此还将任何使用它们的包锁定到夜间版 Rust。对此感到抱歉。

字节宏怎么了?那似乎是我想要的。 - JasonN
@JasonN 它被移除了,至少有两个提案试图将其恢复,但都被否决了。 - DK.
这很奇怪。它与 stringify!() 相同,但是针对字节。为什么不同时移除 stringify?同样的论据适用。我将发起另一个提案,但使用我的用例(与其他两个不同)。似乎有相当多的用例开发人员没有考虑到。 - JasonN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接