如何使用 structopt 将特殊字符作为字符串参数传递?

How to pass special characters as string argument using structopt?

我有一个命令行来搜索文件中的单词。我正在使用 StructOpt 来获取用户想要搜索的词。

#[derive(Debug, StructOpt)]
pub struct Command {
    pub word_to_search: Option<String>,
}

当你写类似 command -a 的东西时,问题就来了。我知道图书馆正试图用 -a 做一些事情,但 struct 中没有 -a,所以我尝试了:command "-a" 但它显示:

error: Found argument '-a' which wasn't expected, or isn't valid in this context

有没有办法使用 StructOpt 传递 -a 等特殊字符并检索信息 (-a)?

您无需更改任何内容,只需使用command -- -a 调用命令即可。双破折号用于指示它是选项的结尾,在这种情况下,其余部分是用户正在查找的词。