对于这样的宏来说,我怎么能避开美元符号呢?

macro_rules! test {
    ($ $name:ident) => {
        println!(stringify!($name));
    };
}

fn main() {
    test!($abc);
}

我想要得abc分.我试过使用$$和一系列可能的方法来逃避它,但我什么都找不到.我在网上所能找到的就是使用$$来转义元变量并产生一个错误.我可以以某种方式使用文本类型吗?

以下是我try 过的: $$\$ 一百零二 $_$ $:literal 一百零五

推荐答案

根据铁 rust 参考文献,

字符$不能匹配或按字面意思转录.

https://doc.rust-lang.org/reference/macros-by-example.html#transcribing

Rust相关问答推荐

如何在rust中有条件地分配变量?

将已知大小的切片合并成一个数组,

如何将元素添加到向量并返回对该元素的引用?

在Rust中,如果Result是Err,运行副作用(如日志(log)记录)的惯用方法是什么

为什么这是&q;,而让&q;循环是无限循环?

铁 rust ,我的模块介绍突然遇到了一个问题

如何实现Serde::Ser::Error的调试

在Rust中克隆源自INTO_ITER()的迭代器的成本?

如何在Rust中基于字符串 Select struct ?

为什么RefCell没有与常规引用相同的作用域?

在为第三方 struct 实现第三方特征时避免包装器的任何方法

Cargo.toml:如何有条件地启用依赖项功能?

为什么需要静态生命周期以及在处理 Rust 迭代器时如何缩小它?

在描述棋盘时如何最好地使用特征与枚举

为什么这个闭包没有实现Fn?

Rust 中的生命周期:borrow 的 mut 数据

如何获取包裹在 Arc<> 和 RwLock<> 中的 Rust HashMap<> 的长度?

Rust HRTB 是相同的,但编译器说一种类型比另一种更通用

为实现特征的所有类型实现显示

如何断言代码不会在测试中编译?