gpt4 book ai didi

swift - CommandLine.arguments 和 Processinfo.processinfo.arguments 在 swift 中的区别

转载 作者:行者123 更新时间:2023-11-28 06:06:00 24 4
gpt4 key购买 nike

我想知道它们有什么不同 CommandLine ProcessInfo

let elements = CommandLine.arguments
let elements = Processinfo.processinfo.arguments

在我看来,ProcessInfo 的参数具有命令行的所有概念。所以在处理参数上没有区别。

下面的代码,使用CommandLine.arguments,用于练习读写文件。

如果我将 Processinfo.processinfo.arguments 放在 CommanLine.arguments 的位置。什么都没有改变。

static func makeInOutFile() -> (inputFile: String, outputFile: String)? {
let elements = CommandLine.arguments
let inputFile: String
let outputFile: String
switch elements.count {
case 2:
inputFile = elements[1]
outputFile = Message.ofDefaultJSONFileName.description
return (inputFile: inputFile, outputFile: outputFile)
case 3:
inputFile = elements[1]
outputFile = elements[2]
return (inputFile: inputFile, outputFile: outputFile)
default:
print (Message.ofFailedProcessingFile)
return nil
}
}

最佳答案

CommandLine 是 Swift 标准库的一部分,仅提供命令行参数和参数计数。

ProcessInfo 是 Foundation 框架的一部分(不是语言的一部分)。虽然 ProcessInfo.arguments 确实为您提供了与 CommandLine.arguments 相同的结果,但 ProcessInfo 类还有更多内容。

虽然这两个 arguments 在功能上是相同的,但如果您只需要命令行参数,请使用 CommandLine。它更简单,不依赖于任何额外的框架,并且更易于移植到其他 Swift 运行时。

关于swift - CommandLine.arguments 和 Processinfo.processinfo.arguments 在 swift 中的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48201517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com