Вы можете узнать больше о Process
из Документации Apple или посмотреть исходный код версии с открытым исходным кодом на GitHub .
Я написал короткий пример того, как вы могли бы сделать некоторый код в синтаксисе, который вы ищете из Process
.Вы можете внести изменения в то, как функция принимает аргументы, чтобы она принимала массив строк вместо конкретных именованных аргументов.
extension Process {
private static let gitExecURL = URL(fileURLWithPath: "/usr/bin/git")
func clone(repo: String, path: String) throws {
executableURL = Process.gitExecURL
arguments = ["clone", repo, path]
try run()
}
}
try! Process().clone(repo: "git@github.com:user/repo.git", path: "path/to/repo")
Насколько я знаю, нет способа передать аргументы процессу, кромев виде строки.