如何检查命令行参数的第二个元素?

多云兄弟

我需要检查第二个元素以确定我正在对其余参数执行哪个操作。

这会遍历命令行参数并跳过第一个参数,因为它始终是程序名称。它还跳过第二个,因为它是我在列表上执行的操作:

for arg in std::env::args().skip(2)

我正在做以下多余的事情:

let check: Vec<String> = env::args().collect();

if check[1] == 'sort'{
    for arg in std::env::args().skip(2){
       //sort
    }
}

有一个更好的方法吗?

大流士爵士

您可以使用nth()

let second_arg = env::args().nth(1).expect("no second arg");

返回一个Option<String>.

它在语义上等同于 callskip(1)后跟next()

更进一步,您可以使用模式匹配:

let mut args = env::args();
match args.nth(1).as_ref().map(|s| s.as_str()) {
    // args has been consumed so it will iterate over the next elements
    Some("sort") => for arg in args {
        println!("arg: {}", arg);
    },
    _ => {},
}

这是必要的参数从转换String&str为了能够使用Some("sort")原样。

或者,您可能希望使用命令行解析包,例如clap

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打印第二个命令行参数

来自分类Dev

第二个命令行参数是指向数组还是指针数组的指针?

来自分类Dev

如何检查是否存在第二个参数

来自分类Dev

如何编写UNIX命令行以根据每行中的第二个单词对诗歌行进行排序

来自分类Dev

从命令行禁用第二个不存在的屏幕

来自分类Dev

使用命令行打开第二个 NVidia 屏幕

来自分类Dev

如何在cli中访问倒数第二个命令的第二个参数?

来自分类Dev

使Qt5应用程序的第二个实例将命令行参数传递给第一个实例

来自分类Dev

使用split()并检查第二个元素

来自分类Dev

bash [第二个参数:找不到命令

来自分类Dev

如何测试模拟方法的第二个参数?

来自分类Dev

RewriteRule:如何使第二个参数可选

来自分类Dev

如何访问结构数组的第二个元素?

来自分类Dev

如何使段落的第二个元素缩进

来自分类Dev

如何从路径中提取第二个元素?

来自分类Dev

如何删除列表的第二个元素

来自分类Dev

OpenProcess第二个参数

来自分类Dev

如何检查第二个列表中某些数字的平方是否在第二个列表中

来自分类Dev

当通过Windows命令行在两个监视器中扩展桌面时,询问获取第二个桌面的屏幕截图的方法

来自分类Dev

如何从历史记录中的最后一个命令访问第二个参数?

来自分类Dev

如何从历史记录中的最后一个命令访问第二个参数?

来自分类Dev

如何在bash中获取上一个命令的倒数第二个参数?

来自分类Dev

GRUB2 - 在 GRUB_CMDLINE_LINUX_DEFAULT 中使用不同的内核命令行选项创建第二个引导条目

来自分类Dev

如何检查测试用例中的第二个参数是否在python中不存在?

来自分类Dev

numpy数组从第二个数组插入第二个元素

来自分类Dev

检查第一个参数中的所有元素是否出现在第二个参数中

来自分类Dev

检查列表头是否可以被列表的第二个元素划分的功能

来自分类Dev

检查元组列表中元组的第二个元素是否都相同

来自分类Dev

随机文件作为命令提示符中的第二个参数?

Related 相关文章

  1. 1

    打印第二个命令行参数

  2. 2

    第二个命令行参数是指向数组还是指针数组的指针?

  3. 3

    如何检查是否存在第二个参数

  4. 4

    如何编写UNIX命令行以根据每行中的第二个单词对诗歌行进行排序

  5. 5

    从命令行禁用第二个不存在的屏幕

  6. 6

    使用命令行打开第二个 NVidia 屏幕

  7. 7

    如何在cli中访问倒数第二个命令的第二个参数?

  8. 8

    使Qt5应用程序的第二个实例将命令行参数传递给第一个实例

  9. 9

    使用split()并检查第二个元素

  10. 10

    bash [第二个参数:找不到命令

  11. 11

    如何测试模拟方法的第二个参数?

  12. 12

    RewriteRule:如何使第二个参数可选

  13. 13

    如何访问结构数组的第二个元素?

  14. 14

    如何使段落的第二个元素缩进

  15. 15

    如何从路径中提取第二个元素?

  16. 16

    如何删除列表的第二个元素

  17. 17

    OpenProcess第二个参数

  18. 18

    如何检查第二个列表中某些数字的平方是否在第二个列表中

  19. 19

    当通过Windows命令行在两个监视器中扩展桌面时,询问获取第二个桌面的屏幕截图的方法

  20. 20

    如何从历史记录中的最后一个命令访问第二个参数?

  21. 21

    如何从历史记录中的最后一个命令访问第二个参数?

  22. 22

    如何在bash中获取上一个命令的倒数第二个参数?

  23. 23

    GRUB2 - 在 GRUB_CMDLINE_LINUX_DEFAULT 中使用不同的内核命令行选项创建第二个引导条目

  24. 24

    如何检查测试用例中的第二个参数是否在python中不存在?

  25. 25

    numpy数组从第二个数组插入第二个元素

  26. 26

    检查第一个参数中的所有元素是否出现在第二个参数中

  27. 27

    检查列表头是否可以被列表的第二个元素划分的功能

  28. 28

    检查元组列表中元组的第二个元素是否都相同

  29. 29

    随机文件作为命令提示符中的第二个参数?

热门标签

归档