キター!
理念的にはオープンソースであることが最重要ですが、実地ではApple製品以外の環境も正式サポートされたことが大きいでしょう。これでやっと真の意味での汎用言語となったわけです。
というわけで、早速使ってみましょう。
下準備
- Ubuntu 14.04 LTS or Ubuntu 15.10 (64bit)
もちろんVMでも構いません。メモリー2GB、仮想ディスク16GBもあれば余裕です。ソースから debugugging symbol までサポートしたフルビルドをしたい場合は、打って変わってメモリー16GBでも足りず、さらに16GBほどswapを足してやっと事なきを得ましたが、バイナリーをダウンロードして使うのであれば最低限で事足ります。
- clangのアップデート(14.04 LTSのみ)
15.10では不要のようです。
$ sudo apt-get install clang-3.6
$ sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.6 100
$ sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.6 100
ダウンロード
あとは
からLatest Development Snapshot をダウンロードし、適当なところに解凍すれば準備完了です。ここでは配布物全体を~/swift
においています。全部で90MB弱。clangなどが含まれていないとはいえ、意外とコンパクトです。
$ wget https://swift.org/builds/ubuntu1404/swift-2.2-SNAPSHOT-2015-12-01-b/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04.tar.gz
$ tar zxvf swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04.tar.gz
$ mv swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04 ~/swift
なお、上記のtarball名は記事執筆現在のものなので、適宜読み替えて下さい。
REPL
それではREPLから行きましょうか。
見ての通り、~/swift/usr/bin/swift
で行けます。フルパスが面倒なら
$ export PATH=$HOME/swift/usr/bin:$PATH
とでもしておきましょう。
import Glibc // 最低限文化的な環境
ご存知の通り、すっぴん、つまり何もimport
されていない状態のSwiftは、libcの関数さえ使えません。iOSなら最初にimport UIKit
、OSXならimport Cocoa
と最初に書く(新規playgroundには最初から入っている)のはそのためですが、Linuxではどうしたらよいのでしょう?
import Glibc
だそうです。
以下のようにすると、クロスプラットフォームに出来ました。
#if os(OSX)
import Cocoa
#elseif os(iOS)
import UIKit
#elseif os(Linux)
import Glibc
#endif
let pi = -2 * atan2(-1, 0)
print("pi = \(pi)")
playgroundやFoundationこそないものの、REPLも最初から用意されてますし、予想以上の完成度でした。apt-get
一発でインストールできるようになるのも時間の問題でしょう。Ubuntu以外への移植もどんどん進んで欲しいですね。
Enjoy!
Dan the Man with too Many Platforms to Support