structopt
有一个简洁的功能,它可以接受一个类型化的参数,因为Vec<T>
它会吞噬命令行的其余部分。
#[structopt(long, short)]
values: Vec<u32>,
它还能够接受您创建的类型,
如果字段类型没有
FromStr
实现,或者您想提供除 之外的自定义解析方案FromStr
,您可以使用以下方式提供自定义字符串解析器parse(...)
您创建的类型是否可以不是标量并且具有多个值或包装 a是否有一种方法可以为包装但重新排序其参数的类型或包含多个字段的结构Vec<T>
创建自定义解析器,例如像这样Vec<T>
struct Positionals {
first: String,
increment: String,
last: String
}
我需要一个不同的结构,因为参数名称取决于顺序,(如果有一个参数,它只是“最后一个”,如果有两个参数,第一个参数不是最后一个,它是“第一个”,第二个参数是“最后一个” )。我想知道是否有办法编写一个解析器来理解这些细微差别(如上所述),或者可以重新排序一个向量以适应它们。