问题标签 [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.

0 投票
1 回答
1174 浏览

rust - clap::App 上的方法调用不止一次移动所有权

即使在阅读了有关引用所有权和借用的章节之后,我仍然无法理解以下代码中的某些内容,从而有效地阻止了我调用多个方法 from clap::App

编译此代码会导致:

  1. 如果我理解正确,app.get_matches()要求借用所有权,因而app必须是mut。函数返回后所有权去哪了?
  2. 我认为app仍然拥有该对象的所有权,但编译器有不同的意见。

我怎样才能获得匹配项,并且仍然有效地调用另一种方法,例如print_helpon appthen?

0 投票
1 回答
3268 浏览

rust - 用 clap 遍历位置参数

假设我有以下命令行:

我想从中取出这个数组:

鉴于位置参数可以是任意数量,有没有办法在拍手中做到这一点?

0 投票
3 回答
634 浏览

rust - 有没有办法让拍手款待-?和 -h 一样吗?

clap crate 实现了选项的内置行为-h,但它似乎没有为-?. 有没有办法告诉它这样做?

0 投票
1 回答
7070 浏览

rust - 在 Clap 的参数中取多个值

我正在使用Clap并且我正在尝试使它,以便子命令可以为参数采用多个值。我追求的界面是:

一个例子:

这里的repo参数是字符串“radar/dot-files”,files参数是["gitaliases", "ryan-aliases"].

这是我尝试使用的代码:

这仅输出我指定的第一个文件,而不是所有文件。

对于任意数量的参数,我怎样才能让它输出所有不同的文件?

0 投票
1 回答
1035 浏览

rust - 有没有办法让 clap 覆盖 [ -h | --help ] 标志帮助文本?

我正在关注 Rust Clap Package 文档中的示例代码,但找不到任何关于自动生成标志 [-h 和 --help] 的帮助文本的参考。

0 投票
1 回答
4452 浏览

rust - 当没有提供命令时,Clap 是否有任何直接的方式来显示帮助?

我正在使用Clap crate来解析命令行参数。我已经定义了一个ls应该列出文件的子命令。Clap 还定义了一个help子命令,用于显示有关应用程序及其使用的信息。

如果未提供任何命令,则根本不会显示任何内容,但我希望应用程序在这种情况下显示帮助。

我试过这段代码,看起来很简单,但它不起作用:

app我收到一个在移动后使用的错误:

阅读 Clap 的文档,我发现clap::ArgMatches返回的 thatget_matches()有一个方法usage可以返回用于使用部分的字符串,但不幸的是,只有这部分,没有别的。

0 投票
1 回答
1171 浏览

rust - 在 Clap 中使用参数的多个值

我正在使用 Clap 并且我的 YAML 文件具有以下内容:

在我的 main.rs 中,我想获取作为参数传递的每个目录的名称并执行类似的操作

其中dir_names是一个向量,name_of_the_directory是一个字符串切片。

我该如何进行?

0 投票
1 回答
1048 浏览

rust - Clap 无法解析 YAML 文件:无法将 YAML 字符串(“1”)值转换为字符串

我使用 YAML 文件来定义我的命令行界面。我使用 Clap 的宏解析文件load_yaml!,这在一段时间内运行良好:

如果我不对相关代码进行任何更改,这将停止工作,并且我收到以下错误:

我不确定更新是否应归咎于此。我更新了 Rust 并删除了 Cargo.lock 以排除不兼容问题,但这并没有帮助。

这是我的 YAML 文件的最小版本,它会产生错误:

这是一个已知的问题?这里出了什么问题?除了尝试旧版本的 Clap 和 YAML 板条箱的组合之外,我还能做些什么吗?

版本信息

摘自 Cargo.toml

摘自 Cargo.lock

0 投票
1 回答
1649 浏览

rust - 如何为 clap_app 的参数指定默认值!宏?

我想使用clap_app!宏来定义一个应该具有默认值的参数。不幸的是,文档中没有任何内容,我的天真尝试没有奏效:

如何为clap_app!宏中的参数指定默认值?

0 投票
1 回答
1068 浏览

rust - 包含具有不同要求和冲突的参数的 Clap arg 组

我正在尝试在 Clap 和 YAML 的帮助下用 Rust 编写 CLI。我的输入将需要一个参数(文件路径)和一个标志-s-r-g. 标志-sand-r将需要两个标志-tand之一-m,但标志与and-g冲突。我正在尝试对其进行配置,以便在选择or时不会被接受,但它不允许将or与or一起使用。-t-m-g-t-m-s-r-t-m

如何配置我的 YAML 文件,以便我可以禁止但允许(并要求)-gt使用or和or ?-gm-t-m-s-r

cli.yml:

我也尝试过标记DBconflicts_with:但无论如何它的行为方式相同。