[前][次][番号順一覧][スレッド一覧]

ruby-changes:7009

From: matz <ko1@a...>
Date: Tue, 12 Aug 2008 18:13:01 +0900 (JST)
Subject: [ruby-changes:7009] Ruby:r18527 (trunk): * array.c (rb_ary_delete): Array#delete to return deleted element.

matz	2008-08-12 18:12:24 +0900 (Tue, 12 Aug 2008)

  New Revision: 18527

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18527

  Log:
    * array.c (rb_ary_delete): Array#delete to return deleted element.

  Modified files:
    trunk/ChangeLog
    trunk/array.c

Index: array.c
===================================================================
--- array.c	(revision 18526)
+++ array.c	(revision 18527)
@@ -1747,12 +1747,16 @@
 VALUE
 rb_ary_delete(VALUE ary, VALUE item)
 {
+    VALUE v = item;
     long i1, i2;
 
     for (i1 = i2 = 0; i1 < RARRAY_LEN(ary); i1++) {
 	VALUE e = RARRAY_PTR(ary)[i1];
 
-	if (rb_equal(e, item)) continue;
+	if (rb_equal(e, item)) {
+	    v = e;
+	    continue;
+	}
 	if (i1 != i2) {
 	    rb_ary_store(ary, i2, e);
 	}
@@ -1774,7 +1778,7 @@
 	}
     }
 
-    return item;
+    return v;
 }
 
 VALUE
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18526)
+++ ChangeLog	(revision 18527)
@@ -70,6 +70,10 @@
 
 	* ext/dl/cptr.c (rb_dlptr_s_to_ptr): fixed shadowing variable.
 
+Tue Aug 12 10:25:14 2008  Yukihiro Matsumoto  <matz@r...>
+
+	* array.c (rb_ary_delete): Array#delete to return deleted element.
+
 Tue Aug 12 10:18:01 2008  Yukihiro Matsumoto  <matz@r...>
 
 	* test/win32ole/test_err_in_callback.rb: do not require 'mkmf'

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]