Swift でもスクリプトが書ける

Swift 言語というと、普段は iOS アプリや MacOS アプリを開発するために、Xcode 上で執筆するイメージが強い。しかし、Swift でサーバサイドを実装したりもできるそうで、決して Mac・iOS アプリ開発専用言語、というワケではないようだ。

ある時、海外プログラマの dotfiles を見ていたら、.swift なスクリプトファイルを作っている人を発見。そこで調べてみると、Swift でも Bash や Perl などのようなスクリプトを書けることが分かった。

以下にサンプルコードを掲載する。

#!/usr/bin/env swift

import Foundation
print("Swift スクリプト : Start")

// 現在日時を JST で表示する
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.locale = Locale(identifier: "ja_JP")
print("\(dateFormatter.string(from: Date()))")

print("Swift スクリプト : Finished")

このようなスクリプトを example.swift といった名前で保存すれば、Mac のターミナルから次のように実行できる。

$ swift ./example.swift

# 実行権限を与えれば次のように直接呼べる
$ ./example.swift

1行目の Shebang は

などで動作することが確認できた。

print()Swift 標準ライブラリに入っており、import Swift と書かなくても利用できる。Swift.print() と書いても同じ。

ちなみに、Date()DateFormatter のために import Foundation を追加しているが、この Foundation 内では明示的に import Swift と書かれている模様。勿論、Foundation をインポートしなくても print() は動く。

…ココまで紹介しておいてアレだが、「Swift じゃないと書きにくいスクリプト」の例が特に思いつかなくて、とりあえず「Swift でもスクリプトが書ける」っていうところまでしか試していないw。Swift を書き慣れていて Bash とか Perl とかが苦手な人は選択肢になるのかもしれない。