swift関数型スタイルの練習 [2016/02/17]
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)