K.Maebashi's BBS 削除ページ

以下の投稿を削除します。

[426] Re:クラスメソッドとクラス変数
返信
投稿者:(ぱ)
2007/02/20 02:13:25

私は常々Javaとかで外部イテレータを使うたび、「めんどくせー」と思ってました。 なので、Ruby式のイテレータいいじゃん、と思っていましたが、 確かにkitさんのおっしゃるようなケースで困りますね。 (Javaのように)コレクションがIteratorを返すようになっていれば、 ライブラリ関数のforeachとクロージャで、C#のforeachみたいなものは作れるから、 その方面でいくのがよさそうですね。 >方法1. ArrayとLinkedの両方に共通なメソッドで、各要素を先頭から順に > 取り出せる関数(インターフェース)を定義する。 これはまずいのでは。たとえば「コレクション中に同じ要素がないかどうか」を 二重ループでチェックするような場合、コレクションそのものが位置を保持していると ひとつしか持てないので困ります。 コレクションにeachメソッドを付けるやり方では、位置を押さえているのは eachメソッドのローカル変数なので問題にならないですけど。
パスワード:

管理者削除