我有一个由变量定义的常量值:
const VAL: usize = 32;
我想做一个这样的功能:
macro_rules! valfn {
($val:expr) => {
pub fn $val () -> () { // here val needs to be a ident
some_other_fn($val) // here it needs to be a expr
}
};
}
valfn!(VAL);
如果我可以以一种或另一种方式对 ident 值进行一些操作以避免定义冲突,则可以加分。我可以用函数定义隐藏变量吗?可能不是...
const VAL: usize = 32;
valfn!(VAL); // creates: fn VAL()
或者
const VAL_: usize = 32;
valfn!(VAL_); // creates: fn VAL()