[#38392] Enumerable#gather_each — Tanaka Akira <akr@...>

ときに、複数行をまとめて扱いたいことがあります。

47 messages 2009/05/09
[#38394] Re: Enumerable#gather_each — ujihisa <ujihisa@...> 2009/05/09

ujihisaと申します。

[#38400] Re: Enumerable#gather_each — Yukihiro Matsumoto <matz@...> 2009/05/09

まつもと ゆきひろです

[#38399] Re: Enumerable#gather_each — "Akinori MUSHA" <knu@...> 2009/05/09

At Sat, 9 May 2009 15:30:20 +0900,

[#38405] Re: Enumerable#gather_each — Tanaka Akira <akr@...> 2009/05/10

In article <86r5yy2nrg.knu@iDaemons.org>,

[#38417] Re: Enumerable#gather_each — "Akinori MUSHA" <knu@...> 2009/05/10

At Sun, 10 May 2009 10:08:47 +0900,

[#38524] [Bug #1503] -Kuをつけた時、/[#{s}]/n と Regexp.new("[#{s}]",nil,"n") で実行結果が異なる — sinnichi eguchi <redmine@...>

Bug #1503: -Kuをつけた時、/[#{s}]/n と Regexp.new("[#{s}]",nil,"n") で実行結果が異なる

8 messages 2009/05/22

[ruby-dev:38493] [Feature:trunk] enhancement of Array#drop

From: "U.Nakamura" <usa@...>
Date: 2009-05-19 06:58:46 UTC
List: ruby-dev #38493
こんにちは、なかむら(う)です。

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>


In This Thread

Prev Next