问题标签 [clap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rust - 如何使 clap 的参数的 value_names 可选?
我正在尝试date
从 coreutils 进行克隆。man
描述了该命令可以-r
具有不同的值“类型”:
所以这个论点可以描述为[-r seconds | filename]
。我怎样才能在掌声中达到同样的效果?
我已经尝试过具有相同选项名称的多个参数。也有可能value_names
在一个论点中有多个。但我没有发现任何关于您可以将名称设为可选的信息。
rust - 正确解析 Clap ArgMatches 的惯用 rust 方法
我正在学习 rust 并尝试找到类似实用程序(是的另一个),我使用 clap 并尝试支持程序参数的命令行和配置文件(这与 clap yml 文件无关)。
我试图解析命令,如果没有命令传递给应用程序,我将尝试从配置文件加载它们。现在我不知道如何以惯用的方式做到这一点。
有一种惯用的方法可以将值提取Option
和Result
键入到相同的范围内,我的意思是我已经阅读、使用match
或if let Some(x)
使用x
模式匹配范围内的值的所有示例,但我需要将值分配给变量。
有人可以帮我解决这个问题,或者指出我正确的方向吗?
最好的祝福
rust - 如何使用 structopt 将 possible_values 附加到结构?
clap
possible_values
允许您使用这样的方式提供接受值的列表。
如何做到这一点structopt
?
rust - 如何使用 Clap 指定布尔命令行标志?
我想添加一个命令行标志。它是一个标志,所以它不需要参数,它要么存在要么不存在。我还需要知道如何读取标志,无论是 TRUE 还是 FALSE。
这是定义标志的代码:
我正在尝试读取这样的值:
None
但是,当我打印它时会导致:
None
即使我在命令行上指定标志也是如此。
rust - 有没有办法设置 Clap 或其他 arg 库以接受普通的“-”或“+”,以便我可以获得没有命名标志的参数组?
我希望能够仅使用以下格式的 - 和 + 字符来传递参数,以拍手或其他 arg lib。
然后在程序中我可以获得具有以下分组的向量...
这在 Clap 或其他 rust arg 库中是否可行?如果是这样,我该如何完成?
rust - 使用 Clap 获取自己的参数的 CLI 参数
我的程序采用几个文件名作为命令行参数,例如:
./myProgram -F file1 file2
这个简单的案例适用于 Clap,实际上它是Arg::multiple()
.
但是,我还希望每个文件都有自己的参数,这会改变该特定文件的行为。简化示例:
./myProgram -F --name file1 ---format csv --priority 2 -F --name file2 --priority 1
在这里,file1 具有更高的优先级,并且与 file2 的格式不同。
简单地使用 Arg::multiple() 不再有效,因为文件特定的参数(格式、优先级)被解析为独立的参数,无法知道它们属于哪个文件。
Arg::allow_hyphen_values() 似乎让我参与其中。但它只是将每次出现的 , 等解析--name
为file1
-F--format
选项的值,无法知道哪个--priority
参数属于哪个文件。我考虑过对文件特定的参数使用不同的语法并手动解析它们,但是由于这个限制,我什至不能这样做。
有没有办法用 Clap 做到这一点?
rust - 如何在 stuctopt 定义中访问运行时定义的变量?
我希望能够使用变量的值(或者更好的是 a 的返回function(arg)
)作为使用 structopt 定义的 CLI 程序的 about 字符串。最终目标是一个完全本地化的 CLI,它可以检测系统语言或 ENV var,并加载本地化的字符串,这些字符串会被烘焙到--help
消息中,等等。
默认情况下,它使用文档注释:
我发现我可以传递手动输入的字符串:
这更近了一步,但我真正想做的是传递一个变量:
最后一个块是伪代码,因为我不知道使用什么语法来实现这一点。最后,我需要的不仅仅是一个字符串切片,但我认为这是一个开始的地方。
如何将这样的值传递给 structopt?我是否需要以某种方式访问底层的 clap 接口?
rust - StructOpt:如何在 clap::arg 属性方法中使用子命令枚举的字段?
我有以下设置:
在这种情况下,我想要一个条件,其中一个aisle
和shelf
一起指定或isbn
单独指定。我发现原始的 clap 方法required_unless
和conflicts_with
,以及它们的变体required_unless_all
和conflicts_with_all
一起可以使用。
也许像这样使用它们:
和
但这会导致以下结果
这是正确的,因为通过的 pin 被用作isbn
代替。
由于明显的原因,这不起作用。我认为我的问题的主要问题是如果放在子命令下,这些字段不能相互引用。我对当前的方法做错了吗?在这种情况下,是否有更好的替代 clap::arg 方法的方法?或者有没有办法在子命令之间进行通信?
rust - 使用 clap 解析用户输入字符串以进行命令行编程
我想创建一个利用 clap 解析输入的命令行。我能想到的最好的方法是一个循环,它要求用户输入,用正则表达式分解它并构建一个 Vec 以某种方式传递给
基本上,我想知道是否有办法让 Clap 使用预先给定的参数列表?