相关疑难解决方法(0)

在宏输出中转义逗号

我正在尝试编写一个允许我转换(a, b, c, d)(a, a + b, a + b + c, a + b + c + d)等的宏 .这是我到目前为止所得到的:

macro_rules! pascal_next {
    ($x: expr) => ($x);
    ($x: expr, $y: expr) => (
        ($x, $x + $y)
    );
    ($x: expr, $y: expr, $($rest: expr),+) => (
        ($x, pascal_next!(
                $x + $y, $($rest),+
            )
        )
    );
}
Run Code Online (Sandbox Code Playgroud)

但是,存在实际输出的问题(a,(a + b,(a + b + c,a + b + c + d))).原点是第二个匹配规则($x: expr, $y: expr) => (($x, $x …

macros rust

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

标签 统计

macros ×1

rust ×1