プログラミング言語 Scala Wiki

Chapter 13 Iterators

第 13 章 イテレータ (Iterators)

イテレータは、ストリームの命令型版です。ストリームのように、イテレータには無限リストを記述する能力があります。しかし、イテレータの成分を含むデータ構造はありません。代わりに、2つの抽象メソッド next と hasNext を使って、イテレータはシーケンスをたどることができます。

trait Iterator[+A] {
    def hasNext: Boolean
    def next: A

メソッド next は、次の要素を返します。メソッド hasNext は next で返すべき要素がまだあるかどうかを示します。イテレータは他にもいくつかメソッドをサポートしていますが、それは後ほど説明します。

例として、1 から 100 までの数の平方を表示してみます。

val it: Iterator[Int] = Iterator.range(1, 100)
while (it.hasNext) {
    val x = it.next
    println(x * x)
}

名前:
コメント:

1 はじめに
2 最初の例
3 アクターとメッセージによるプログラミング

+  4 式と簡単な関数
+  5 第一級の関数

6 クラスとオブジェクト

+  7 ケースクラスとパターンマッチング
+  8 ジェネリックな型とメソッド
+  9 リスト
+  10 For内包表記
+  11 ミュータブルな状態

12 ストリームによる計算

+  13 イテレータ

14 遅延評価val
15 暗黙のパラメータと変換
16 Hindley/Milner 型推論

+  17 並列処理の抽象

参考文献