[#49193] [ANN] Ruby 2.0.0-p0 released — Yusuke Endoh <mame@...>

こんにちは。Ruby 2.0.0-p0 をリリースします。

14 messages 2013/02/24
[#49196] [ANN]Ruby-2.0.0-p0 mswin32版 MSI was Re: [ANN] Ruby 2.0.0-p0 released — arton <artonx@...> 2013/02/24

artonです。

[#49216] Windows用 インストーラ無しパッケージの需要について (Re: [ANN]Ruby-2.0.0-p0 mswin32版 MSI was Re: [ANN] Ruby 2.0.0-p0 released) — Takeshi Iogawa <alpha@246.ne.jp> 2013/02/27

いおがわと申します。 Ruby2.0の正式リリースおめでとうございます。

[ruby-list:49175] Re: Enumerator#+

From: "NARUSE, Yui" <naruse@...>
Date: 2013-02-01 11:56:56 UTC
List: ruby-list #49175
(2013/02/01 20:16), Akinori MUSHA wrote:
> At Fri, 1 Feb 2013 08:16:53 +0900,
> 小田 利通 wrote:
>> 》- Enumeratorを連結するというのが、そんなに普通に使われることなのか判断しかねる
>>
>> 第1水準、第2水準の漢字の表を作ろうと思って、sjis コードで出力(内部的には
>> 後に utf-8 にエンコード)しようとしたときに、 sjis の空いている部分を作るために
>> 必要になりました。現実世界には欠番のある列挙は結構あると思います。
> 
> TCP/IPのポート番号とか、Unicodeで一定のプロパティを持つ文字の集合とか、
> よくありますね。しかし、これは Enumerator#+ があるとうれしい例ではない
> と思います。二項演算子が目に優しいのはオペランドが固定個のときですが、
> 文字コード表から生成した範囲集合のような不定個のものを連結するとなれば
> xs.inject(:+) のように書くことになるので、二項演算子の記法としてのメリッ
> トが生きません。
> 
> このケースについて言えば、おそらく列挙以外にも「ある要素がいずれかの範
> 囲に含まれるかを効率よく検査する」等の機能も望まれるでしょう。とすれば、
> Enumerator にはこだわらずにこんなコンテナを作った方がいいと思います。
> 
> 	https://gist.github.com/4690485
> 
> こうして作った専用のコンテナなら、それこそ + を定義して集合のマージを実
> 装するなど、気楽に演算を定義できます。

まさにそういうの書きました。
https://gist.github.com/893932 の CC ってクラスがそれです。
knu さんの sort 済みじゃないとダメ制限もなく、自力でソートしてます。

で、このような sparse ordered array とでも呼ぶものは、
やっぱり enumerator とは違うものなんじゃないかな。

-- 
NARUSE, Yui  <naruse@airemix.jp>

In This Thread