定食屋おろポン

おろしポン酢と青ネギはかけ放題です

Swiftでコマンドライン引数を取る

OS XコマンドラインアプリをSwiftで作る時に役立ちます。どこにあるんだそんな需要。*1

StackOverflowではC_ARGCを使う方法が示されています。 これでも良いと思いますが、ちょっと冗長ですね。

osx - How do you access command line arguments in Swift? - Stack Overflow


ここはFoundationのNSProcessInfoを使いましょう。 こんなコードで、コマンドライン引数をSwiftのString型の配列として取得できます。

import Foundation

let arguments :String[] = NSProcessInfo.processInfo().arguments.map{String($0 as NSString)}

println(arguments)

実行するとこのようになります。

% ./SwiftCLISample hoge fuga piyo
%[/path/to/binary/SwiftCLISample, hoge, fuga, piyo]

*1:CSVとかから.plistを作りたいときとか役に立ちます。いちおう。