From: Akinori MUSHA aka knu Date: 2000-01-06T15:59:05+09:00 Subject: [ruby-dev:8851] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num)  knuです。 At Thu, 6 Jan 2000 04:11:09 +0900, Yukihiro Matsumoto wrote: > |B案)ちょっと革新的な案 > | > | delete(e) eに一致する最初のものを削除 > | delete!(i) i番目を削除 > > この案の問題は delete と delete! で引数の意味が違う点ですね。 > これは私にとって大きな大問題です。  これは確かにそうでした。取り下げます。 > |A案)ちょっと保守的な案 > > | def delete_range(range) # 特に何も返さない。 > | def delete_at(i) # 現状のまま。削除した要素を返す。 > | def delete_from(i, len) # 特に何も返さない。 > > この案の欠点は [] なら引数パターンで指定できるものが、いちい > ち名前を変えないといけない点ですね。悪いことばかりでもないん > でしょうが。  そうですねえ。もし delete() と別に delete[] というメソッドが 定義できればイメージはぴったりなんですが。。  私としては、低コストな範囲削除メソッド(slice!は範囲のコピーを 作るのでいまいち)があった方がいいと思うので、 > C案) slice/slice!を導入。delete_atは現状のまま > D案) slice/slice!を導入。delete_atはslice!と同じ > E案) slice/slice!を導入。delete_atは近い将来無くす はどれもしっくりきません。というわけで、推したいのは D'案) delete_at を名称変更して、 i,n や n..m を受け付けるように拡張 (slice!との対応が付くので、もしいい名前があればこちらが望ましい) remove, kill, erase, ... ? A案) 新たに delete_from, delete_range を設ける (現状の delete_at を尊重する方法) の二通りかな。 -- / /__ __ / ) ) ) ) / http://www.idaemons.org/knu/ Akinori MUSHA aka / (_ / ( (__( mailto:knu@idaemons.org "We are but hungry.. Associated Ita-meshi Daemons!" http://www.idaemons.org/