我正在尝试制作一个简单的宏,该宏将使用收到的任何内容调用vec!
,然后在返回新向量之前进行一些简单的处理:
macro_rules! sorted_vec {
($x:expr) => {
{
let v = vec![$x];
v.sort();
v
}
}
}
问题在于我的宏试图分析语法,因此会抱怨逗号等。这是有道理的,但我不确定该如何解决它。我认为
expr
不是要使用的正确片段说明符。如何才能将原始输入传递给 vec!
而不处理它呢?