Я пытаюсь написать макрос, который превратит число в строковый литерал, подобно тому, как макрос stringify!
может превратить свой аргумент в &str
,Поверните число в строковый литерал, похожий на stringify!()
Более конкретно, как бы я это пишу:
byte_stringify!(10) -> b"10"
Я буду использовать это, чтобы создать большое количество const
структур, так что я не могу полагаться на вызов метода str
.
Более масштабно, я на самом деле пытаюсь предварять и добавить некоторый текст, прежде чем включать аргумент в байтах строку:
make_arg!(10) -> b"x10y"
Update:
Где делали старую bytes!
макро идти? Я думаю, что хочу: bytes!(stringify!(10))
Что случилось с байтами! макрос? Кажется, это то, чего я хочу. – JasonN
@JasonN Он удален и, по крайней мере, [два] (https://github.com/rust-lang/rfcs/pull/566) [предложения] (https://github.com/rust-lang/rust/ тянуть/18702), чтобы вернуть его, были отброшены назад. –
Это странно. Это то же самое, что stringify!(), Но для байтов. Почему бы не удалить строку тоже? Те же аргументы применимы. Я собираюсь начать другое предложение, но с моим вариантом использования (differenr из двух других). Кажется, что довольно много случаев, о которых разработчики не думали. – JasonN