Project

General

Profile

Actions

Feature #1488

closed

enhancement of Array#drop

Added by usa (Usaku NAKAMURA) almost 16 years ago. Updated almost 14 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-dev:38493]

Description

=begin
こんにちは、なかむら(う)です。

Rubyでスクリプトを書いていて、配列から、ある条件に合致する先
頭の要素のみを削除する、という処理を書きたい場面に出会ったこ
とが何度かあります。

無条件で先頭の要素を削除するメソッドとしてはshiftまたはdrop(1)
があり、また、条件に合致した全ての要素を削除するメソッドとし
てはdeleteがありますが、ある条件に合致する先頭の要素のみを削
除しようとすると、意外と複雑な記述になってしまいます。

... という話をIRCでしてみたところ、なかださんに「dropにブロッ
ク引数を追加するのはどうか」と言われました。

例:
[:a, :b, :a, :b].drop(1){|e| e == :b} #=> [:a, :a, :b]
[:a, :b, :a, :b].drop(2){|e| e == :b} #=> [:a, :a]

さらに、第2引数が指定された場合は、{|e| e === 第2引数} とみな
すようにすればさらに便利、とも言われました。

例:
[:a, :b, :a, :b].drop(1, :b) #=> [:a, :a, :b]

私としてはこの仕様が実現されると大変便利と思うのですが、いか
がでしょうか。

なお、なかださんが例のごとく既にパッチを持っています。

それでは。

U.Nakamura
=end


Related issues 1 (0 open1 closed)

Has duplicate Ruby - Feature #1492: enhancement of Array#dropClosedActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0