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