Bug #1028
closedArray#zip cannot accept enumerables as arguments.
Description
=begin
こんにちは、なかむら(う)です。
In message "[ruby-cvs:28896] Ruby:r21678 (trunk): * array.c (take_items), enum.c (enum_zip): tries to convert to"
on Jan.20,2009 06:47:50, nobu@ruby-lang.org wrote:
nobu 2009-01-20 06:47:48 +0900 (Tue, 20 Jan 2009)
New Revision: 21678
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21678
Log:
* array.c (take_items), enum.c (enum_zip): tries to convert to
array first. [ruby-core:21442]
たぶん、arrayへの変換を試し、ダメならeachで回す、というのが意
図だろうと思うのですが、Enumerable#zipは大丈夫ですがArray#zip
がそうなっていません。
Index: array.c
--- array.c (revision 21699)
+++ array.c (working copy)
@@ -2209,7 +2209,7 @@ take_i(VALUE val, VALUE *args, int argc,
static VALUE
take_items(VALUE obj, long n)
{
- VALUE result = to_ary(obj);
-
VALUE result = rb_check_array_type(obj);
VALUE args[2];if (!NIL_P(result)) return rb_ary_subseq(result, 0, n);
それでは。
--
U.Nakamura usa@garbagecollect.jp
=end