2 个版本
0.1.1 | 2023年6月27日 |
---|---|
0.1.0 | 2022年12月12日 |
#10 in #argv
16KB
222 行
getargs-os
在 OsStr
之上添加了一个新的类型包装器 (OsArgument
),允许它被 getargs::Options
解析。
结合 argv
crate,这允许跨所有平台进行最低成本的参数解析(在 Linux 上为零成本)。
这是一个独立的 crate,因为需要(非常)不安全代码。 std
不希望我们以任何方式干预 OsStr
。
使用方法
首先,以某种方式获取 OsStr
的迭代器 - 我再次推荐 argv
- 然后将它们包装在 OsArgument
中,并将其传递给 Options::new
。
use getargs::Options;
use getargs_os::OsArgument;
let mut opts = Options::new(argv::iter().skip(1).map(<&OsArgument>::from));
然后像往常一样使用 Options
getargs::Options - 查看其文档以获取更多使用示例。
您可以使用 os!
宏来创建新的 OS 字符串以进行比较。此宏适用于所有操作系统。例如
while let Some(arg) = opts.next_arg().expect("some ooga booga just happened") {
if arg == Arg::Long(os!("help")) {
// print help...
} else {
// ...
}
}
依赖项
~71KB