[#38121] regex performace tuning and ABI compatibility — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

13 messages 2009/03/03

[#38191] big time — Tanaka Akira <akr@...>

思い立って、time_t を越える範囲を Time で扱うことに挑戦して

31 messages 2009/03/27
[#38194] Re: big time — Tadayoshi Funaba <tadf@...> 2009/03/28

> 思い立って、time_t を越える範囲を Time で扱うことに挑戦して

[#38196] Re: big time — Tanaka Akira <akr@...> 2009/03/28

In article <20090328.134401.209982445.tadf@dotrb.org>,

[#38202] Re: big time — Urabe Shyouhei <shyouhei@...> 2009/03/29

卜部です。

[#38205] Re: big time — Tanaka Akira <akr@...> 2009/03/29

In article <49CF6641.7010204@ruby-lang.org>,

[#38218] rinda/eval.rb — Masatoshi SEKI <m_seki@...>

咳といいます。

20 messages 2009/03/30
[#38219] Re: rinda/eval.rb — Tanaka Akira <akr@...> 2009/03/31

In article <F01982B3-FBB5-497F-BA36-38FA250E7D69@mva.biglobe.ne.jp>,

[#38223] Re: rinda/eval.rb — Masatoshi SEKI <m_seki@...> 2009/03/31

咳といいます。

[#38229] Re: rinda/eval.rb — "U.Nakamura" <usa@...> 2009/04/01

こんにちは、なかむら(う)です。

[#38233] Re: rinda/eval.rb — Tanaka Akira <akr@...> 2009/04/01

In article <20090401095853.B00A.C613B076@garbagecollect.jp>,

[#38222] *BSD で fork できない理由 — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>

きしもとです

12 messages 2009/03/31

[ruby-dev:38176] Re: [Bug #1198] corrupted iteratoin during "enum_for :inject"

From: "Akinori MUSHA" <knu@...>
Date: 2009-03-17 08:49:31 UTC
List: ruby-dev #38176
At Fri, 13 Mar 2009 19:47:54 +0900,
matz wrote:
> In message "Re: [ruby-dev:38078] [Bug #1198] corrupted iteratoin during "enum_for :inject""
>     on Tue, 24 Feb 2009 19:53:59 +0900, Akinori MUSHA <redmine@ruby-lang.org> writes:
>
> |ファイル with_index-incompat.patch 追加
> |
> |ただ、この場合分けは1.9で整理した単値・多値の扱いの一貫性を崩すことにもなるので
> |もう少し考えた方がいいと思います。
>
> うーむ。
>
> |1.9では { |*args, idx| ... } と受け取り方ができるので、単に
> |
> |- yield(*any) されたら yield(*any, idx) する
> |
> |というすっきりした仕様に変更するという選択肢も十分に考えられます。
>
> なるほど。
>
> |互換性が最大の障害ですけどね…。
>
> まず現在の1.9.1の挙動は明らかにバグなので修正する必要がある
> と思います。それをどの方向に直すかですが、ここは非互換でもすっ
> きりした修正の方が望ましいのではないでしょうか。

 Enumerator#each_with_index については明らかなバグと言える挙動
だったのですが、 Enumerable#each_with_index は1.8と同じ仕様で
動いていたことがわかりました。

% ruby-1.9.1 -e 'Enumerator.new{|y| y.yield(); y.yield(1); y.yield(1,2) }.to_a.each_with_index {|*x| p x}'
[nil, 0]
[1, 1]
[[1, 2], 2]

この両者で挙動が食い違うわけにもいかないので、少なくとも1.9系列は
1.8仕様で行くしかなさそうです。

 ただし、 with_index のみ変えるというのはありかもしれません。
いや、そんな違いはわかりにくいからなしかな…。

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

In This Thread