プログラミング言語 Scala Wiki

Example13.3

13.3 イテレータの使用

イテレータの使い方の例をさらに2つあげます。最初は、配列 xs: Array[Int]のすべての要素を表示するもので、次のように書けます。

Iterator.fromArray(xs) foreach (x => println(x))

または for 内包表記を使っても書けます。

for (x <Iterator.fromArray(xs))
    println(x)

二つ目の例として、double の配列のうち、要素がある値より大きいすべてのインデックスを求めることを考えます。インデックスはイテレータとして返されるものとします。これは、次の式で実現できます。

import Iterator._
fromArray(xs)
.zip(from(0))
.filter(case (x, i) => x > limit)
.map(case (x, i) => i)

または for 内包表記を使っても実現できます。

import Iterator._
for ((x, i) <fromArray(xs) zip from(0); x > limit)
yield i

名前:
コメント:

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

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

6 クラスとオブジェクト

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

12 ストリームによる計算

+  13 イテレータ

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

+  17 並列処理の抽象

参考文献