新井です。

>>> From: matz / netlab.co.jp (Yukihiro Matsumoto)
>>> Date: 28 Dec 1999 22:08:37 +0900
>>> Subject: [ruby-dev:8751] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num)

> まつもと ゆきひろです

> 本当に欲しいものは shift/pop ではなく、
> 
> class Array
>   def foo(*args)
>     result = self[*args]
>     self[*args] = nil
>     result
>   end
> end
> 
> なる定義の「破壊的な抽出」メソッドではないですか?
> 名前はなんだろう?
> 

昔perlのsplice()が欲しいと思ったことがあります。

class Array
  def splice(pos, len, val=nil)
    result = self[pos, len]
    self[pos, len] = val
    return result
  end
end

--
新井康司 (Koji Arai)