gpt4 book ai didi

rust - 什么是有效字符以及如何在clap.rs参数中转义?

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

我想传递某种形状或将字典/ map /对象形成我的拍手应用程序。我可以对字典进行预处理,以将其转换为某些csv或其他格式。我的问题是我无法在拍手文档中找到哪些字符对参数值有效以及如何对其进行转义。这与拍手无关,而是特定于 shell 程序吗?
我可以通过类似的东西吗myApp --dicty="a=1,b=3,qwe=yxc"

最佳答案

Is this unrelated to clap and instead shell specific?


通常,是的。 clap将获取 shell 程序确定的任何参数并将对其进行解析。
但是,拍手从自述文件中内置了对值集的支持:
  • Supports multiple values (i.e. -o <val1> -o <val2> or -o <val1> <val2>)
  • Supports delimited values (i.e. -o=val1,val2,val3, can also change the delimiter)

如果这还不够,那么您必须将 dicty定义为 String,您将收到字符串 a=1,b=3,qwe=yxc(我认为您不会收到引号),然后必须自己手动解析( regex/split/...)或其他更高级的功能(例如csv crate ,尽管这可能会过分杀伤)。
不过,这似乎有点奇怪。
FWIW structopt(基于拍手提供了更具声明性的UI,应该是Clap 3的一部分)并不完全支持这种情况,但是可以相对容易地强制使用: https://github.com/TeXitoi/structopt/blob/master/examples/keyvalue.rs
经过一些修改将允许类似
myApp -D a=1 -D b=3 -D que=yxc
或(尽管请参见链接摘录中的注释以了解限制)
myApp -D a=1 b=3 que=yxc
被收集为 vec![("a", "1"), ("b", "3"), ("que", "yxc")],从中创建哈希图很简单。

关于rust - 什么是有效字符以及如何在clap.rs参数中转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66221754/

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