Google+ もご覧ください
ユーザーアイコン

Swift入門

第八回 Collection-Each - RubyのようなeachをSwiftにも

第八回 Collection-Each - RubyのようなeachをSwiftにも

何となくLLっぽいSwiftですが、それでもなお残る違和感が常にあります。そこでメソッドを追加してよりLLっぽく書けるようにしていきましょう。

今回はCollection-Eachの紹介です。配列やDictionaryにRuby風のeachメソッドを追加します。

配列の場合

["Apples", "Oranges", "Mangos"].each{
  println("Item \($0)")
}

eachで各値を順番に処理していきます。同じようにeachwithindexに似たメソッドも用意されています。

["Apples", "Oranges", "Mangos"].eachWithIndex{
  println("Item \($0) at Index \($1)")
}

こちらもよく使いそうですね。

["key1":1, "Key2":2, "Key3":3].each{
  println("Key \($0) at Value \($1)")
}

こちらはDictionaryの場合。キーが$0に、値が$1に入ってきます。

3.times{
  /* do something */
}
3.timesWithIndex{
  println("Index \($0)")
}

処理を繰り返すtimesや、そこにインデックスも送るtimesWithIndexもあります。

Rangeでも使えます。

(1...10).each{
  println("Index \($0)")
}

これはかなり汎用性の高そうなメソッドなので、Collection+Each.swiftの追加は必須になってくるかも知れませんね。

oarrabi/Collection-Each

Swift
タグ:

記事をリクエストする

関連記事

コメント