SwiftArg
是一个命令行参数解析器,几乎没有学习曲线。 它仅依赖于 Swift 标准库。
import SwiftArg
let parser = Parser()
// Add long options.
parser.addOption(names: ["version"])
// Add short options.
parser.addOption(names: ["f"])
parser.addOption(names: ["r"])
// Long and short options are automatically differentiated between.
parser.addOption(names: ["help", "h"])
// Positional arguments are added to the last option raised, with a limit you define.
// Options can be assigned to with either syntax: `--output=foo.txt` or `--output foo.txt`.
parser.addOption(names: ["output", "o"], maxValueCount: 1)
// So if the arguments were "foo --help -ru -o foo.txt bar --blah"...
parser.parse(arguments: CommandLine.arguments)
// ...then all of the following expressions would be true.
parser.executableArgument == "foo"
parser.hasRaisedOption(named: "h")
parser.hasRaisedOption(named: "r")
parser.hasRaisedOption(named: "help")
!parser.hasRaisedOption(named: "f")
parser.hasRaisedOption(named: "output")
parser.valuesOfOption(named: "output") == ["foo.txt"]
parser.unrecognizedArguments == ["-u", "bar", "--blah"]
这涵盖了整个接口。 如果您仍然需要有关各个函数的更多信息,请查看 Xcode 快速帮助。
要将 SwiftArg
导入您的项目,只需将其添加到 Package.swift
中的包依赖项,并作为目标依赖项添加到任何将 import SwiftArg
的目标中。
// swift-tools-version:4.0
import PackageDescription
let package = Package(
name: "YourPackage",
dependencies: [
.package(url: "https://github.com/jaredmpayne/SwiftArg.git", from: "1.0")
]
products: [
.library(name: "YourPackage", targets: ["YourPackage"])
],
targets: [
.target(name: "YourPackage", dependencies: ["SwiftArg"]),
.testTarget(name: "YourPackageTests", dependencies: ["YourPackage"])
]
)