[#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:38401] Re: Enumerable#gather_each

From: "Akinori MUSHA" <knu@...>
Date: 2009-05-09 23:08:28 UTC
List: ruby-dev #38401
At Sun, 10 May 2009 06:00:08 +0900,
matz wrote:
> In message "Re: [ruby-dev:38394] Re: Enumerable#gather_each"
>     on Sat, 9 May 2009 15:53:22 +0900, ujihisa <ujihisa@gmail.com> writes:
>
> |一度に二つの手続きを渡すのではなく、一つのブロックを受け取りEnumeratorを返すgatherと、従来のeachに分けた方が自然になるのではないでしょうか。
>
> 私もそう思います。ただ、Enumerableから「条件を満たす限り連続
> した要素をまとめる」ことをgatherと呼ぶことになんとなく満足で
> きません。gatherという単語からは全体から集めるような印象を受
> けませんか? 私だけの感覚でしょうか。

 最初に提案を見て split_by, slice_at, group_until のような名前を
思い付きましたが、そうして名前を付けてみると、件の挙動にぴったり
来る名前がないというよりむしろ、それらの名前から想起される機能が
ある程度の幅を持つということが本質なのではないかと気づきます。

 すなわち、田中さんも触れた通り、ヘッダ行の場合はそこから始まり、
フッタ行の場合はそこで終わり、区切り行の場合は読み捨てる、という
ような複数の要求が想定でき、それら使い分けができる柔軟性が必要
なのではないかということです。

> とはいえ、[ruby-dev:38399]のbufferというのも、気持ちは分かる
> んですが、ちょっと違うような気がします。柔軟性は高いんですが、
> なんか内臓が見えてる気がして。

 内臓というのはどのあたりのことでしょうか。すっきりしていると
思うんですが。Ruby って大体の部分において内臓は見られますよね。

--
Akinori MUSHA / http://akinori.org/

In This Thread