出典: イテレータ 『フリー百科事典 ウィキペディア日本語版(Wikipedia)』 最終更新 2019年2月2日 (土) 03:26 UTC、URL: https://ja.wikipedia.org/ イテレータ(英語: iterator)とは、プログラミング言語において配列やそれに類似する集合的データ構造(コレクションあるいはコンテナ)の各要素に対する繰り返し処理の抽象化である。実際のプログラミング言語では、オブジェクトまたは文法などとして現れる。JISでは反復子(はんぷくし)と翻訳されている。 [各言語における例] C++ C++では、STLが外部イテレータの枠組みを定義している。この枠組みはポインタと互換性を持つよう定められているため、ポインタを用いてイテレータを構成することができる。 ・・・ Delphi Delphiでは、バージョン2005よりfor-in構文によるイテレータがある。ユーザーによるイテレータはMoveNextメソッドやCurrentプロパティを任意のクラス等に実装することで定義でき、型に厳格なPascal系言語ながらこれらを実装するだけでfor-inにより認識されるというダックタイピングにも似た仕組みとなっている。 ・・・ Java Javaでは、Iteratorインターフェイス族を実装するオブジェクトが外部イテレータとなる。 Perl Perlには、foreach、each といった繰り返しのキーワードがある。 他に、Tie機能 (変数操作のオーバーロード) でユーザーデータに対するイテレータを定義できる。 PHP PHPではIteratorインターフェイスを実装することにより、任意のイテレータを定義することができ、foreach、while といったキーワードでイテレータを簡単に利用することができる。 また、大抵のオブジェクトにはあらかじめイテレータが実装されている。 Python Pythonは次の要素を返す__next__()メソッドを持つオブジェクトを外部イテレータとして使う。コンテナオブジェクトの__iter__()メソッドがイテレータを返す。(便宜上、イテレータの__iter__()は自身を返す) Ruby Rubyでは、Arrayなどのコンテナオブジェクトが、eachなどのイテレートするメソッドを持っている内部イテレータである。メソッド呼出しの直後に { ... } という書式で「ブロック」を書くと、その中の手続きが繰返し実行される。「ブロック付きメソッド」(あるいは、「ブロック付きメソッド呼び出し」)と言い、これをイテレータとも呼ぶ。 .NET言語 C#、VB.NETなどの.NET Frameworkに準拠する.NET言語において、反復子 (iterator) は値の順序付き列を産出 (yield) する文のブロック(狭義ではyield文を含むメソッド)を意味する。これを反復子ブロック (iterator block) とも呼ぶ。また、コレクションに対する列挙操作を行なう機能を提供するための媒介インターフェイスを列挙子 (enumerator) と呼び、IEnumeratorインターフェイスによって表す。 ・・・ |
同義語・類義語 | 関連語・その他 |
---|---|
Forward Iterator | Output Iterator |
fɔ́ːrwərd ítərèitər | ランダムアクセス反復子 |
フォァワードゥ イトゥレイダゥー | 出力反復子 |
フォァワードゥ・イトゥレイダゥー | ・ |
フォ́ーァワゥードゥ・イ́トゥレ̀イダゥー | iterator |
フォーワード イテレーター | ítərèitər |
フォーワード・イテレーター | イトゥレイタゥー |
フォ́ーワード・イ́テレ̀ーター | イ́トゥレ̀イダゥー |
前方反復子 | イテレーター |
ぜんぽう はんぷくし | イ́テレ̀ーター |
[名詞] | |
反復子 | |
はんぷくし | |
更新日:2024年 1月18日 |