[#34647] fork 不可能な環境での test_argv0_noarg — wanabe <s.wanabe@...>

ワナベと申します。

13 messages 2008/05/11
[#34667] Re: fork 不可能な環境での test_argv0_noarg — Yukihiro Matsumoto <matz@...> 2008/05/13

まつもと ゆきひろです

[#34742] Ruby 1.8.7-preview3 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.7-preview3 をリリースしました。

14 messages 2008/05/18
[#34744] Re: [ruby-list:44957] Ruby 1.8.7-preview3 has been released — Takahiro Kambe <taca@...> 2008/05/19

お疲れ様です。

[#34800] Windows2000上でtrunkがビルドできない — KIMURA Koichi <kimura.koichi@...>

木村です。

18 messages 2008/05/22
[#34801] Re: Windows2000上でtrunkがビルドできない — "U.Nakamura" <usa@...> 2008/05/22

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

[#34824] Re: Windows2000上でtrunkがビルドできない — KIMURA Koichi <kimura.koichi@...> 2008/05/23

木村です。

[#34850] Re: Windows2000上でtrunkがビルドできない — KIMURA Koichi <kimura.koichi@...> 2008/05/26

木村です。

[#34854] Re: Windows2000上でtrunkがビルドできない — "U.Nakamura" <usa@...> 2008/05/26

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

[#34889] Ruby 1.8.7-preview4 test-all failed in OpenSSL::TestSSL — Nobuhiro IMAI <nov@...>

いまいです。

10 messages 2008/05/29

[ruby-dev:34562] Re: /(.)(.)/.match("ab").select {|v| true } is empty

From: Tanaka Akira <akr@...>
Date: 2008-05-01 12:54:15 UTC
List: ruby-dev #34562
In article <E1JrXPV-0000qQ-UT@x61.netlab.jp>,
  Yukihiro Matsumoto <matz@ruby-lang.org> writes:

> MatchData#selectはvalues_atのaliasですからEnumerable系の
> selectとは挙動が異なります。戻り値は指定した引数をインデック
> スとする値を要素とする配列です。RDocには以下のようにあります。

おぉ、rdoc は読んでませんでした。

しかし、その説明は 1.8.1 から 1.8.6 までの挙動とあっていません。

% ruby-1.8.6 -ve 'p(/(.)(.)(\d+)(\d)/.match("THX1138: The Movie").select(0, 2, -2))'
ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-linux]
-e:1:in `select': wrong number of arguments (3 for 0) (ArgumentError)
        from -e:1

% ruby-1.8.6 -ve 'p(/(.)(.)(\d+)(\d)/.match("THX1138: The Movie").select { true })'         
ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-linux]
["HX1138", "H", "X", "113", "8"]

説明がついたのは 1.8.2 ですが、その段階で実際の挙動と説明に
食い違いがあります。

説明はまつもとさんのいうように values_at ですが、実装は
Enumerable 的なものです。

そして、1.8.0 は values_at と Enumerable 的なものが混ざって
いて、values_at のほうは values_at 自体を使えという警告が出
ます。

% ruby-1.8.0 -ve 'p(/(.)(.)(\d+)(\d)/.match("THX1138: The Movie").select(0, 2, -2))'
ruby 1.8.0 (2003-08-04) [i686-linux]
-e:1: warning: MatchData#select(index..) is deprecated; use MatchData#values_at
["HX1138", "X", "113"]

% ruby-1.8.0 -ve 'p(/(.)(.)(\d+)(\d)/.match("THX1138: The Movie").select { true })' 
ruby 1.8.0 (2003-08-04) [i686-linux]
["HX1138", "H", "X", "113", "8"]

これをみると、むしろ rdoc による説明が間違っていて、その間違っ
た説明に 1.9 が従ってしまったと思えるのですがどうでしょうか?

(そして、1.8.7 にそれが backport されて非互換性が発生してお
り、rubyspec で検出されるのですが。)
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread