安装Xcode后,我想在命令行中编译并运行.swift文件。明白了,这可以做到:
xcrun swift sayHello.swift
但是,我想在命令行中传递一个参数。
例如,使用sayHello.swift中的以下函数:
func sayHello(personName: String) -> String {
let greeting = "Hello, " + personName + "!"
return greeting
}
你如何通过论证,例如鲍勃? 这看起来很有希望:
-D指定一个或多个构建配置选项
xcrun swift -D sayHello(Bob) sayHello.swift
但是,这不是我的预期。
答案 0 :(得分:-1)
您可以将任意字符串作为命令行参数传递给进程,但是您可以
不能指望它们作为代码执行(如sayHello(Bob)
)。
在Swift中,Process.arguments
是一个包含所有命令行的字符串数组
给予该过程的论据。第一个元素(索引0)是
可执行文件本身的路径,以及附加的命令行
参数从索引1开始:
// sayHello.swift
func sayHello(personName: String) -> String {
let greeting = "Hello, " + personName + "!"
return greeting
}
let args = Process.arguments
for i in 1 ..< args.count {
let name = args[i]
let greeting = sayHello(name)
println(greeting)
}
示例:
$ xcrun swift sayHello.swift Peter Paul Mary Hello, Peter! Hello, Paul! Hello, Mary!