小编Leo*_*d7E的帖子

是否可以定义一个处理语法案例的宏?

我想定义一个callme可以像这样应用的宏.

fn main() {
    let a=4;
    let b=5;
    callme!(
        a (b) => { a+b } ;
        a (b) => { a*b } ;
        a (b) ~ C
    );
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何获得有效的宏定义callme.目前我正在尝试这样的事情:

macro_rules! callme {
    (
        $($A: ident ($B: ident) => {$E: expr}) ; *
    ) => (
        $(
            println!("{:?} {:?} {:?}", $A, $B, $E);
        ) *
    );
    (
        $($A: ident ($B: ident) ~ $Q: ident) ; *
    ) => (
        $(
            println!("We got {:?} . {:?} . …
Run Code Online (Sandbox Code Playgroud)

macros rust

4
推荐指数
1
解决办法
67
查看次数

标签 统计

macros ×1

rust ×1