WindowsでSwiftを動かす

2016年2月時点、Windows版のSwiftなし。
Mac or Linux(ubuntu)のみ。
→ Swift HP

Windowsでの実現方法を考える。
(1)Cygwin用Swiftもあるようだが、公式ではない
(2)VirtualBoxにMacを入れるのはライセンス的にかなりグレーというか黒。
(3)VirtualBoxにubuntu14をインストール。これなら問題ないでしょう。

ということで(3)案でGo。
■Ubutntu14をダウンロード
https://www.ubuntulinux.jp/download

■Ubuntu環境構築
ダウンロードしたISOイメージを使い、VirtualBox上にてUbuntu環境を構築

■Swift環境構築
・依存関係
sudo apt-get install clang libicu-dev

・取得、解凍、path設定
wget https://swift.org/builds/swift-2.2-branch/ubuntu1404/swift-2.2-SNAPSHOT-2016-02-08-a/swift-2.2-SNAPSHOT-2016-02-08-a-ubuntu14.04.tar.gz
tar xzf swift-2.2-SNAPSHOT-2016-02-08-a-ubuntu14.04.tar.gz
mv swift-2.2-SNAPSHOT-2016-02-08-a-ubuntu14.04 swift-2.2
export PATH=/home/tt/swift-2.2/usr/bin:"${PATH}"
swift --version

■REPL(Read-Eval-Print-Loop)でテスト
swift
> let aaa:String = “Hello World”;
> print(aaa);



動いてます。
AppleはサーバサイドSwiftという時代を狙っているのでしょうか。
アプリもSwift、サーバサイドもSwift。Swift覚えておけば両方いけますよ、便利でしょ?という流れに持っていってSwift対応エンジニア数を増やす狙いでしょうか。


swift関数型スタイルの練習
Javascript、Actionscript、PHP、Java、Swiftが常用言語です。
ただ正直に言って5つもあるといざコーディングする際、パッと出てこない時がある。
特にSwift。
Swiftでの開発案件がない際でも、1日10分でも15分でもいいからテストコードを書く修練が必要。
朝の日課にします。
以下関数型スタイルの練習。

//テスト用配列
let workArray:[Int] = [3,4,2,1,5,10,7,6,8,9]

//forEachでループ
workArray.forEach { row in
    print(row);
}

//要素を合計するラムダ式を定義し、reduce
let plus = { (a: Int, b: Int) -> Int in a + b }
let sum = workArray.reduce(0, combine: plus)
print(sum);

//要素を2倍するラムダ式を定義し、map
let workArray2 = workArray.map{ (a: Int) -> Int in a * 2 }
workArray2.forEach { row in
    print(row);
}

//10未満の要素を抽出するラムダ式を定義し、filter
let filterA = {(a: Int) -> Bool in a < 10}
let filterResult = workArray2.filter(filterA)
print(filterResult)

//降順にsort
let srt = filterResult.sort { (a:Int, b:Int) -> Bool in b < a}
print(srt)