我正在尝试编写一个允许我转换(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 …