小编Ian*_*anS的帖子

使用 Rust 宏生成具有可变参数的函数

我创建了一个 Rust 宏,它扩展为函数声明。

macro_rules! build_fn
{
    ($name:tt) => {

        pub fn $name(&self) -> Result<i32, Box<dyn Error>>
        {
            // <implementation>
            
            Ok(0)
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

是否可以扩展它以便宏可以采用可变参数?

例如

($name:tt, /*$variable_args ? */) => {

        pub fn $name(&self, /*$variable_args ? */) -> Result<i32, Box<dyn Error>>
        {
            // ...
            
            Ok(0)
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

操场

macros rust macro-rules

7
推荐指数
1
解决办法
4723
查看次数

标签 统计

macro-rules ×1

macros ×1

rust ×1