我有一个由变量定义的常量值:
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()