【发布时间】:2018-04-29 03:48:03
【问题描述】:
假设我有一些宏被这样调用:
my_macro!(Blah, (a, b, c));
它会输出如下内容:
struct Blah {
a: i32,
b: i32,
c: i32
}
impl Blah {
fn foo() -> i32 {
a + b + c
}
}
(人工示例)
这些字段将是结构私有的,但我需要允许重新定义。所以,输入
my_macro!(Blah, (a, b, c, a));
会生成类似的东西:
struct Blah {
a1: i32,
b: i32,
c: i32,
a2: i32
}
impl Blah {
fn foo() -> i32 {
a1 + b + c + a2
}
}
命名方案不需要遵循任何逻辑模式。
这可能吗?
【问题讨论】: