[swift]for文の書き方

swiftでfor文の表現方法がたくさんある、かつ、swift3.0だと自分がよく使っていた方法が使えなくなるらしい。。。
困ったときのコピペ用に情報を載せておきます。
Swift3.0では使い慣れたfor文が使えなくなります

for var i = 0; i < 100; i++ {
    print("\(i)")
}
for i in 0..
Array(0..<100).forEach {print("\($0)")}
let array = ["a", "b", "c", "d"]
array.enumerate().filter { ($0.0 % 2 != 0)} .map { $0.1 }
array.enumerate().flatMap { ($0.0 % 2 != 0) ? $0.1 : nil }

for文といえば、以下のようなことではまったことがあります。
#将来のswiftとかで変更(修正?)されていたりしそう

for index in ary.startIndex.. {
    // 最後、「fatal error: Array index out of range」でエラーになります。
    println(ary[index])
}
for index in ary.startIndex..<ary.endIndex {
    // これならOK.endIndexは最終要素の"次"となっています。
    println(ary[index])
}

Swift さくっと確認したい基礎文法 [いろんなループ処理]
Array型の場合

let numList = [1,2,3,4,5]
for num in numList {
    print(num)
}

Dictionary型の場合

let menuList = ["aaa": 111, "bbb": 222, "ccc": 333, "ddd": 444, "eee": 555]
for (str,int) in menuList {
    print("\(str):\(int)")
}

String型の場合

for char in "Swift"{
    print(char)
}

Stringの文字列を1文字ずつ区切る

let text = "foobar"
// Swift 1.2
let characters = map(text) { String($0) }
// Swift 2
let characters = text.characters.map { String($0) }

シェアする

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

フォローする