1

Xcode をインストールしたら、コマンド ラインで .swift ファイルをコンパイルして実行したいと思います。理解した、これは行うことができます:

xcrun swift sayHello.swift

ただし、コマンドラインで引数を渡したいと思います。

たとえば、sayHello.swift の次の関数を使用します。

func sayHello(personName: String) -> String {
    let greeting = "Hello, " + personName + "!"
    return greeting
}

ボブのように、どのように引数を渡しますか? これは有望に見えました:

-D 1 つ以上のビルド構成オプションを指定します

xcrun swift -D sayHello(Bob) sayHello.swift

しかし、それは私が期待したものではありません。

4

1 に答える 1

0

任意の文字列をコマンドライン引数としてプロセスに渡すことはできますが、それらがコードとして実行されることは期待できません( など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 ピーター ポール メアリー
こんにちは、ピーター!
こんにちは、ポール!
こんにちは、メアリー!
于 2015-03-19T06:34:40.083 に答える