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

ruby-changes:2192

From: ko1@a...
Date: 12 Oct 2007 23:35:36 +0900
Subject: [ruby-changes:2192] matz - Ruby:r13683 (trunk): * re.c (match_values_at): make #select to be alias to #values_at

matz	2007-10-12 23:35:26 +0900 (Fri, 12 Oct 2007)

  New Revision: 13683

  Modified files:
    trunk/ChangeLog
    trunk/re.c

  Log:
    * re.c (match_values_at): make #select to be alias to #values_at
      to adapt RDoc description.  [ruby-core:12588]

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13683&r2=13682
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/re.c?r1=13683&r2=13682

Index: re.c
===================================================================
--- re.c	(revision 13682)
+++ re.c	(revision 13683)
@@ -1339,8 +1339,8 @@
 
 /*
  *  call-seq:
-    if (!OBJ_TAINTED(obj) && rb_safe_level() >= 4)
-	rb_raise(rb_eSecurityError, "Insecure: can't modify regexp");
+ *
+ *     mtch.values_at([index]*)   => array
  *     mtch.select([index]*)   => array
  *
  *  Uses each <i>index</i> to access the matching values, returning an array of
@@ -1348,7 +1348,7 @@
  *
  *     m = /(.)(.)(\d+)(\d)/.match("THX1138: The Movie")
  *     m.to_a               #=> ["HX1138", "H", "X", "113", "8"]
- *     m.select(0, 2, -2)   #=> ["HX1138", "X", "113"]
+ *     m.values_at(0, 2, -2)   #=> ["HX1138", "X", "113"]
  */
 
 static VALUE
@@ -1360,43 +1360,6 @@
 
 /*
  *  call-seq:
- *     mtch.select([index]*)   => array
- *
- *  Uses each <i>index</i> to access the matching values, returning an
- *  array of the corresponding matches.
- *
- *     m = /(.)(.)(\d+)(\d)/.match("THX1138: The Movie")
- *     m.to_a               #=> ["HX1138", "H", "X", "113", "8"]
- *     m.select(0, 2, -2)   #=> ["HX1138", "X", "113"]
- */
-
-static VALUE
-match_select(int argc, VALUE *argv, VALUE match)
-{
-    if (argc > 0) {
-	rb_raise(rb_eArgError, "wrong number of arguments (%d for 0)", argc);
-    }
-    else {
-	struct re_registers *regs = RMATCH(match)->regs;
-	VALUE target = RMATCH(match)->str;
-	VALUE result = rb_ary_new();
-	int i;
-	int taint = OBJ_TAINTED(match);
-
-	for (i=0; i<regs->num_regs; i++) {
-	    VALUE str = rb_str_subseq(target, regs->beg[i], regs->end[i]-regs->beg[i]);
-	    if (taint) OBJ_TAINT(str);
-	    if (RTEST(rb_yield(str))) {
-		rb_ary_push(result, str);
-	    }
-	}
-	return result;
-    }
-}
-
-
-/*
- *  call-seq:
  *     mtch.to_s   => str
  *
  *  Returns the entire matched string.
@@ -2453,8 +2416,8 @@
     rb_define_method(rb_cMatch, "to_a", match_to_a, 0);
     rb_define_method(rb_cMatch, "[]", match_aref, -1);
     rb_define_method(rb_cMatch, "captures", match_captures, 0);
-    rb_define_method(rb_cMatch, "select", match_select, -1);
     rb_define_method(rb_cMatch, "values_at", match_values_at, -1);
+    rb_define_method(rb_cMatch, "select", match_values_at, -1);
     rb_define_method(rb_cMatch, "pre_match", rb_reg_match_pre, 0);
     rb_define_method(rb_cMatch, "post_match", rb_reg_match_post, 0);
     rb_define_method(rb_cMatch, "to_s", match_to_s, 0);
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 13682)
+++ ChangeLog	(revision 13683)
@@ -14,6 +14,11 @@
 	* array.c (rb_ary_product): accessing out of memory bounds.
 	  condition fixed.
 
+Fri Oct 12 11:22:15 2007  Yukihiro Matsumoto  <matz@r...>
+
+	* re.c (match_values_at): make #select to be alias to #values_at
+	  to adapt RDoc description.  [ruby-core:12588]  
+
 Thu Oct 11 21:10:17 2007  Yukihiro Matsumoto  <matz@r...>
 
 	* include/ruby/node.h (NOEX_LOCAL): remove unused local visibility.

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

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