knuです。

At Thu, 6 Jan 2000 04:11:09 +0900,
Yukihiro Matsumoto <matz / netlab.co.jp> 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/