タグ

generatorに関するYudoufuのブックマーク (2)

  • GeneratorとSequence - Qiita

    GeneratorType generatorとは新しい要素を返す処理のことで、以下のGeneratorTypeプロトコルに従う。 class LineGenerator: GeneratorType { typealias Element = String var lines: [String] init(text: String) { self.lines = text.componentsSeparatedByString("\n") } func next() -> Element? { return lines.isEmpty ? nil : lines.removeAtIndex(0) } } let text = "いろはにほへと ちりぬるを\nわかよたれそ つねならむ\nういのおくやま けふこえて\nあさきゆめみし よひもせず" let generator1 = LineG

    GeneratorとSequence - Qiita
  • SwiftでIteratorパターン - たーせる日記

    最近は、もっぱら言語レベルでサポートされるようになってしまった Iterator です。 『増補改訂版Java言語で学ぶデザインパターン入門』では、記念すべき最初の章で紹介されるパターンです。堅物な(?) Java 向けの解説ということもあり、このIterator パターンの章では、クラスやインタフェースが不自然なほど*1登場しますが、Swift はやや言語仕様が洗練されたこともあり、かなり自然に Iterator パターンを適用できます。 独自クラスでインデクサ [ ] とか for-in 構文とかを使えるようにするためのヒントになるかも。あまりヒントっぽくないかも。 ちなみに動作確認は Xcode 6 beta 5 で行っています。これより古い(または新しい)バージョンの Xcode では動かないかも知れません。 // ------------------------------

    SwiftでIteratorパターン - たーせる日記
    Yudoufu
    Yudoufu 2015/12/16
    AnyGeneratorとSequenceTypeを使ってIterator
  • 1