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

ruby-changes:9310

From: knu <ko1@a...>
Date: Wed, 17 Dec 2008 19:57:31 +0900 (JST)
Subject: [ruby-changes:9310] Ruby:r20848 (ruby_1_8): * string.c (rb_str_each): Add a deprecation warning to

knu	2008-12-17 19:57:16 +0900 (Wed, 17 Dec 2008)

  New Revision: 20848

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

  Log:
    * string.c (rb_str_each): Add a deprecation warning to
      String#each.

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/string.c

Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 20847)
+++ ruby_1_8/ChangeLog	(revision 20848)
@@ -1,3 +1,8 @@
+Wed Dec 17 19:53:08 2008  Akinori MUSHA  <knu@i...>
+
+	* string.c (rb_str_each): Add a deprecation warning to
+	  String#each.
+
 Wed Dec 17 18:40:11 2008  Akinori MUSHA  <knu@i...>
 
 	* object.c (rb_obj_id_obsolete): s/will be deprecated/is deprecated/.
Index: ruby_1_8/string.c
===================================================================
--- ruby_1_8/string.c	(revision 20847)
+++ ruby_1_8/string.c	(revision 20848)
@@ -3768,7 +3768,6 @@
 
 /*
  *  call-seq:
- *     str.each(separator=$/) {|substr| block }        => str
  *     str.each_line(separator=$/) {|substr| block }   => str
  *  
  *  Splits <i>str</i> using the supplied parameter as the record separator
@@ -3854,7 +3853,23 @@
     return str;
 }
 
+/*
+ *  call-seq:
+ *     str.each(separator=$/) {|substr| block }        => str
+ *
+ *  
+ */
+static VALUE
+rb_str_each(argc, argv, str)
+    int argc;
+    VALUE *argv;
+    VALUE str;
+{
+    rb_warning("treating String as Enumerable object is deprecated; use String#each_line/lines");
+    return rb_str_each_line(argc, argv, str);
+}
 
+
 /*
  *  Document-method: bytes
  *  call-seq:
@@ -5077,7 +5092,7 @@
     rb_define_method(rb_cString, "squeeze!", rb_str_squeeze_bang, -1);
 
     rb_define_method(rb_cString, "each_line", rb_str_each_line, -1);
-    rb_define_method(rb_cString, "each",      rb_str_each_line, -1);
+    rb_define_method(rb_cString, "each",      rb_str_each, -1);
     rb_define_method(rb_cString, "each_byte", rb_str_each_byte, 0);
     rb_define_method(rb_cString, "each_char", rb_str_each_char, 0);
 

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

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