ArgParse

Build Status

一个纯 Swift 实用程序,用于处理命令行选项和参数,其灵感来自 Python 的 argparse 模块。

使用示例

以下代码是一个 Swift 程序,它接受一个整数列表,并过滤掉偶数,除非另有要求。

import ArgParse

let parser: ArgumentParser = [
  .variadic("elements", defaultValue: [Int]()),
  .flag("keep-even", alias: "-e"),
]

if let parseResult = try? parser.parse(CommandLine.arguments) {
  let elements: [Int] = parseResult.result(for: "elements")!
  let keepEven: Bool = parseResult.result(for: "keep-even")!
  print(elements.filter { $0 % 2 != 0 || keepEven })
}