Actions
Feature #1488
closedenhancement of Array#drop
Status:
Closed
Assignee:
-
Target version:
-
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 usa@garbagecollect.jp
=end
Actions
Like0
Like0Like0Like0Like0