[macruby-changes] [1775] MacRuby/branches/experimental/array.c

source_changes at macosforge.org source_changes at macosforge.org
Fri Jun 5 22:06:59 PDT 2009


Revision: 1775
          http://trac.macosforge.org/projects/ruby/changeset/1775
Author:   lsansonetti at apple.com
Date:     2009-06-05 22:06:59 -0700 (Fri, 05 Jun 2009)
Log Message:
-----------
Array#zip: try to convert the given argument as an array

Modified Paths:
--------------
    MacRuby/branches/experimental/array.c

Modified: MacRuby/branches/experimental/array.c
===================================================================
--- MacRuby/branches/experimental/array.c	2009-06-06 05:02:44 UTC (rev 1774)
+++ MacRuby/branches/experimental/array.c	2009-06-06 05:06:59 UTC (rev 1775)
@@ -2020,11 +2020,18 @@
 static VALUE
 take_items(VALUE obj, long n)
 {
-    VALUE result = rb_ary_new2(n);
+    VALUE result = rb_check_array_type(obj);
     VALUE args[2];
 
-    args[0] = result; args[1] = (VALUE)n;
+    if (!NIL_P(result)) {
+	return rb_ary_subseq(result, 0, n);
+    }
+    result = rb_ary_new2(n);
+    args[0] = result;
+    args[1] = (VALUE)n;
+    
     rb_objc_block_call(obj, selEach, cacheEach, 0, 0, take_i, (VALUE)args);
+
     return result;
 }
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090605/ee6d92b5/attachment.html>


More information about the macruby-changes mailing list