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

名前:
コメント:

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年02月24日 09:03
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。