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

ruby-changes:17100

From: nobu <ko1@a...>
Date: Thu, 26 Aug 2010 09:50:41 +0900 (JST)
Subject: [ruby-changes:17100] Ruby:r29100 (trunk): * array.c (rb_ary_shuffle_bang): check number of argument.

nobu	2010-08-26 09:49:54 +0900 (Thu, 26 Aug 2010)

  New Revision: 29100

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

  Log:
    * array.c (rb_ary_shuffle_bang): check number of argument.

  Modified files:
    trunk/ChangeLog
    trunk/array.c
    trunk/test/ruby/test_array.rb

Index: array.c
===================================================================
--- array.c	(revision 29099)
+++ array.c	(revision 29100)
@@ -3754,6 +3754,9 @@
     if (OPTHASH_GIVEN_P(opts)) {
 	randgen = rb_hash_lookup2(opts, sym_random, randgen);
     }
+    if (argc > 0) {
+	rb_raise(rb_eArgError, "wrong number of arguments (%d for 0)", argc);
+    }
     rb_ary_modify(ary);
     ptr = RARRAY_PTR(ary);
     while (i) {
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29099)
+++ ChangeLog	(revision 29100)
@@ -1,3 +1,7 @@
+Thu Aug 26 09:49:50 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* array.c (rb_ary_shuffle_bang): check number of argument.
+
 Tue Aug 26 09:11:40 2010  Kenta Murata  <mrkn@m...>
 
 	* ext/bigdecimal/bigdecimal.c (Init_bigdecimal,
Index: test/ruby/test_array.rb
===================================================================
--- test/ruby/test_array.rb	(revision 29099)
+++ test/ruby/test_array.rb	(revision 29100)
@@ -1893,6 +1893,7 @@
     end
 
     gen = Random.new(0)
+    assert_raise(ArgumentError) {[1, 2, 3].shuffle(1, random: gen)}
     srand(0)
     100.times do
       assert_equal([0, 1, 2].shuffle, [0, 1, 2].shuffle(random: gen))

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

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