[#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:49176] Re: Enumerator#+

From: "H.Hiro" <main@...>
Date: 2013-02-01 14:22:55 UTC
List: ruby-list #49176
H.Hiroです。

> Enumerator は無限列挙の場合がありますが、それは考慮されてますでしょうか。
>
>> - 現状では、(自前で上記の小田さんのような定義をするのでなければ)一旦to_aしてから連結することになり、処理効率の面でも悪い
>> ためです。
>
> 処理効率以前に、無限だからこそ to_a してからでは不可能なので、
> Enumerator のまま足したいというケースがあるかもしれませんが。

確かにその問題はありますね。
「連結した後ろ側のものが列挙されることが保証されないので、(+演算子を使うかはともかくとして)Enumerator同士は直接連結可能にすべきではない」という考え方もありますし、「とりあえず連結自体は可能にして(この場合、手前側のものが無限列挙だと後ろ側のものは列挙されない)、ただしユーザにそういう挙動であることを了承の上で使ってもらう」という考え方もできますね。
ちなみに私の好みとしては後者(筋が通っているなら連結操作自体は可能にしておきたい)です。

※言い訳をしておくと、私の頭の中では浮かんでいたのですが、MLに書くのを失念しておりました

--
H.Hiro / Maraigue
http://hhiro.net/about/
main@hhiro.net

In This Thread