[#49186] 日本語を含むパスに置いたスクリプトで require が失敗 — "5.5" <5.5@...>
5.5 と申します。
5 messages
2013/02/15
[#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の正式リリースおめでとうございます。
[#49217] Re: Windows用 インストーラ無しパッケージの需要について (Re: [ANN]Ruby-2.0.0-p0 mswin32版 MSI was Re: [ANN] Ruby 2.0.0-p0 released)
— "U.Nakamura" <usa@...>
2013/02/27
こんにちは、なかむら(う)です。
[#49219] Re: 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
いおがわです。こんにちは。
[#49264] Re: Windows用 インストーラ無しパッケージの需要について
— ISHIKAWA Takayuki <rechka_osaka@...>
2013/03/09
こんにちは、石川と申します。
[#49194] [ANN] Rubyist Magazine 0041 号リリース — takkanm@...
日本 Ruby の会るびま編集のtakkanmです。
5 messages
2013/02/24
[#49201] Windows の Ruby 2.0.0 で irb が使えない — "5.5" <5.5@...>
5.5 と申します。
7 messages
2013/02/25
[#49204] ruby1.9でのTkMsgCatalogの振る舞い — 渡邊巌 <i.watanabe@...>
渡邊と申します。
7 messages
2013/02/27
[#49211] 仕様変更 — ytakagi <ytakagi@...5.dion.ne.jp>
7 messages
2013/02/27
[#49228] PDF ファイルが Adobe Reader などで開かれているかを検知したい — "5.5" <5.5@...>
5.5 です。お世話になっております。
6 messages
2013/02/28
[ruby-list:49171] Re: Enumerator#+
From:
Tomoyuki Chikanaga <nagachika00@...>
Date:
2013-02-01 02:17:00 UTC
List:
ruby-list #49171
近永と申します。
横から揚げ足取りですみません、
> Enumerator を使う人は、Array を意識しているのではないかと思っています。
>
> [0,1,2,3,4,5].each {|i| puts i}
>
> とするのを意識しながら
>
> (0..5).each {|i| puts i}
>
> と書いているじゃないかと。(違いは遅延評価ですね)
というところですが、Range オブジェクト (0..5) は Enumerator ではありません。
Range クラスは Eunmerable を include していますので Enumerable の一種ではあります。
またこれをもって遅延評価とはあまり言わないのではないかと思います。
(ただ配列リテラルでは事前に要素が評価されているのに対して Range オブジェクトは
each メソッド内で yield される値は procedural に作られているから...、
というニュアンスは感じとれましたが)
> ((0..2).each+(4..5).each).each {|i| puts i}
Enumerator を得るのは to_enum か enum_for メソッドを用いるほうが意図が明確で良いかと思います。
Enumerator#+ についてですが Enumerator を連結するメソッドはあってもいいのかなという気はします。
しかし演算子メソッドとして定義するかどうかは慎重になるべきだと思います。
メソッド追加の要望は Redmine に Feature Request としてチケットを作って頂くのがよいと思います。
http://bugs.ruby-lang.org/projects/ruby-trunk/issues/new
以上、失礼しました。
2013年2月1日 2:25 小田 利通 <oda@alato.ne.jp>:
>
>
> あらきさん、メールありがとうございます。
>
> 》Enumeratorは列挙自体を表すクラス(だと思う)なので、「列挙を合成する」よりは
> 》「列挙するものを予め合成してから列挙」の方が自然なのではないかと思います。
>
> Enumerator は、ヘルプにあるように
> Enumerable の機能を提供するためのラッパークラス
> と 外部イテレータ
> の2つの役割をするクラスです。
>
> Enumerator を使う人は、Array を意識しているのではないかと思っています。
> つまり、
>
> [0,1,2,3,4,5].each {|i| puts i}
>
> とするのを意識しながら
>
> (0..5).each {|i| puts i}
>
> と書いているじゃないかと。(違いは遅延評価ですね)
>
> であれば、
>
> ([0,1,2]+[4,5]).each {|i| puts i}
>
> に対応する
>
> ((0..2).each+(4..5).each).each {|i| puts i}
>
> という表記があってもよいのではないかと思います。
>
> Rangeオブジェクトの + もあっても良いとも思うのですが、
>
> class Range
> def +(other)
> other=other.each unless other.kind_of?(Enumerator)
> self.each + other
> end
> end
>
> Rangeオブジェクト同士の加算の結果が Rangeオブジェクトでないというのは、
> 違和感があるので議論の余地があると思います。
>
> 》またEnumeratorに合成の機能を付けてしまうと、型を無視した合成が可能になってしまうのであまりよくないのではないでしょうか?
>
> each メソッドがブロックに渡すのは、同じクラスのオブジェクトとは限りません。
> つまり
>
> [0, 1, "A", :foo].each {|i| puts i}
>
> であっても問題ありません。
> これは Array だけでなく Enumerator についても同様です。
>
> 小田 http://www.alato.ne.jp/oda
>