- C++相談室 part120 [転載禁止]©2ch.net
475 :デフォルトの名無しさん[sage]:2015/11/13(金) 02:02:36.76 ID:GGTDEwnn - 名前の都合でしかないから
enumuratorとiteratorの両方が混在してる言語を見てみると… Javaの場合は既に使われているEnumerationのAPIを変えることなく改善版が用意された https://docs.oracle.com/javase/jp/6/api/java/util/Iterator.html > public interface Iterator<E> > コレクションの反復子です。反復子は、Java Collections Framework において Enumeration の代わりとなります。 > 反復子は、次の 2 つの点で列挙と異なります。1) 反復子を使用すると、明確なセマンティクスに基づく繰り返し処理の間に、 > 呼び出し側は基本となるコレクションから要素を削除できる。2) メソッド名が改良されている Rubyの場合は登場時からブロック付きメソッドを「イテレータ」と表現してた経緯があり 外部イテレータを提供する(?)ときにこの名前が使われた http://docs.ruby-lang.org/ja/1.9.3/class/Enumerator.html > 要約 > each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。 また、外部イテレータとしても使えます。 迷いのない言語には片方しか用意されてない 両方を区別して使い分ける必要が無いから
|