gpt4 book ai didi

rust - 如何检测是否为声明性宏提供了可选关键字?

转载 作者:行者123 更新时间:2023-12-03 11:36:36 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How do I create a Rust macro with optional parameters using repetitions?

(1 个回答)


1年前关闭。




我正在写一个宏:

macro_rules! foo {
($(print)?) => {
// run `println!("hello") if print is given
}
}
可以称为:
  • foo!()什么都不做
  • foo!(print)这将打印你好

  • 如何检测 print提供?当我使用重复运算符时,我需要放入一个变量。我可以使用某种空变量吗? ( (print $print:empty)?)

    最佳答案

    为每种情况制定单独的规则:

    macro_rules! foo {
    () => {
    // do nothing
    };
    (print) => {
    println!("hello")
    };
    }

    fn main() {
    foo!(); // does nothing
    foo!(print); // prints "hello"
    }
    playground

    关于rust - 如何检测是否为声明性宏提供了可选关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65189568/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com