2014年10月19日日曜日

Swift 学習チートシート

次のiphoneアプリの開発からはSwiftでということが正式に決まったので学習開始。
ざっと見た感じscalaみたい。scalaはあんま得意じゃないです。playframeworkとか苦労した記憶しか無い。

  • xcode6.0.1

基本知識のまとめ


1.let 定数

let lable = "This width is"

2.var 変数

var test = "test"

3.文字列と数値を+でつなげても、自動で数値がstringには変換されない。
文字列の中で\()を使うことで数値を加えることが可能。

let apples = 3
let appleSummary = "I hava \(apples) apples."

# rubyの式展開にちょっと似ている。
# ruby
ape = 15
puts 'My ape is #{ape}"

4.配列

# 初期化
var shoppingList:[String] = []

型を宣言しないとエラーが発生する
× var shoppingList = []

5. optional
scalaのoptionとほとんど同じ

if文でtrueの場合

var optionalName: String? = "Jone appleseed"
var greeting = "hello"
if let name = optionalName {
    greeting = "HEllo, \(name)"
}

6. switch
型での判断が可能。
僕の中の言語の善し悪しの基準に、プログラム言語はswitchの機能で決まるという勝手な思い込みがあるのですが、ruby > scala > swiftという印象。
かなり高機能です。

var vegitable = "red peper"
switch vegitable
{
case "celery":
    let vagetableComment = "Everything is not good"
case "celery", "bule peper":
    let vagetableComment = "this is great!"
case let x where x.hasPrefix("red"):
    let vagetableComment = "common on"
default:
    let vagetableComment = "Everything is good"
}

whereが良い感じ。

7. func
関数
scalaのtupleみたいな機能が使える。いかにもモダンな言語という印象。

func culcStatisc(scores:[Int]) -> (min: Int, max: Int, sum: Int) {
    var min = scores[0]
    var max = scores[0]
    var sum = 0
    
    for score in scores {
        if score > max {
            max = score
        } else if score < min {
            min = score
        }
        sum += score
    }
    
    return (min, max, sum)
    
}

let statistics = culcStatisc([100, 80, 90, 70])
statistics.min
statistics.sum

続く

参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...