是否可以忽略 Rust 的指数?
Is it possible to ignore Rust's exponents?
我正在尝试在 Rust 宏中使用字母“E”而不触发数学指数。这是一个例子:
macro_rules! test {
(0e) => {
// Do something
};
}
fn main() {
test!(0e);
}
这给出了错误 error: expected at least one digit in exponent
。可以忽略吗?我知道我可以用其他方式来写,但为了一致性,我更愿意用这种方式来写。
谢谢。
宏输入是一系列令牌树,这些令牌树已使用用于 Rust 代码的相同令牌生成器进行了解析。虽然您可以使用宏创建新语法,但您仍然只能处理 Rust 中有效的标记。
即使是过程宏也无法做到这一点,因为错误发生在调用宏的代码中,在它看到输入之前。
解决方法是要求输入是字符串。然后,程序宏可以根据您的喜好对其进行解析。
我正在尝试在 Rust 宏中使用字母“E”而不触发数学指数。这是一个例子:
macro_rules! test {
(0e) => {
// Do something
};
}
fn main() {
test!(0e);
}
这给出了错误 error: expected at least one digit in exponent
。可以忽略吗?我知道我可以用其他方式来写,但为了一致性,我更愿意用这种方式来写。
谢谢。
宏输入是一系列令牌树,这些令牌树已使用用于 Rust 代码的相同令牌生成器进行了解析。虽然您可以使用宏创建新语法,但您仍然只能处理 Rust 中有效的标记。
即使是过程宏也无法做到这一点,因为错误发生在调用宏的代码中,在它看到输入之前。
解决方法是要求输入是字符串。然后,程序宏可以根据您的喜好对其进行解析。