Swift 学習メモ2
- xcode6.0.1
基本知識のまとめ
1.関数 1.1.関数の中で関数を記述して呼び出す。 func returnFifteen() -> Int { var y = 10 func add() { y += 5 } add() return y } returnFifteen() 1.2 関数を変数に格納して利用する javaScriptでよく使うパターン func makeIncrements() -> (Int -> Int) { func addOne(number: Int) -> Int { return 1 + number } return addOne } var increment = makeIncrements() increment(1) * Point (Int -> Int) 上記はIntで貰った関数をIntで返すという意味。 1.3.1.2を少し複雑にした関数 テストコードも各練習しないとダメだけど、とりあえず関数まで一気につぶす。 func hasAnyMathcers(list: [Int], condition: Int -> Bool) -> Bool { for item in list { if condition(item) { return true } } return false } func lessThanTen(number: Int) -> Bool { return number < 10 } var numbers = [20, 14, 17, 12] hasAnyMathcers(numbers, lessThanTen) *list: [Int], condition: Int -> Bool 配列とIntを引数にとってboolを返す関数を引数にとる 1.4.closure クロージャー。 柔軟だけど、あんまやりすぎると可読性が落ちるので注意。テストコード必須。 var numbers = [20, 14, 17, 12] let mappednumbers = numbers.map({number in 3 * number}) mappednumbers
ここまでの感想。
よく出来てる言語です。objective-cは極力使わない方向でiosの開発は進めていきたいですね。
あとはscalaでのプロジェクトの経験が凄い生きてるのが驚きです。scalaは流行らないと見切りをつけたんだけど、何の知識が役に立つかわからないもんですねえ。
2.class javaとかrubyとかscalaのいいとこ取り。 class Shape { var numberOfSides = 0 func simpleDescription() -> String { return "A sharp with \(numberOfSides) sides." } } var shape = Shape() shape.numberOfSides = 7 var shapeDescription = shape.simpleDescription()
さらに続く
参考サイト
0 件のコメント:
コメントを投稿