From e5c418d9910b3170ca13aee161ac6b08e9ae3a0c Mon Sep 17 00:00:00 2001 From: drbrain Date: Tue, 10 Apr 2012 00:57:40 +0000 Subject: [PATCH] * string.c (rb_str_split_m): Documented behavior of split on the empty string. [ruby-trunk - Feature #3575] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ string.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index c90a2c74c2..f9ce659246 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Apr 10 09:57:00 2012 Eric Hodel + + * string.c (rb_str_split_m): Documented behavior of split on the empty + string. [ruby-trunk - Feature #3575] + Tue Apr 10 09:48:31 2012 Eric Hodel * ext/zlib/zlib.c (rb_deflate_s_deflate): Fixed ruby example replacing diff --git a/string.c b/string.c index 079891a04a..79de311358 100644 --- a/string.c +++ b/string.c @@ -5742,6 +5742,9 @@ static const char isspacetable[256] = { * limit to the number of fields returned, and trailing null fields are not * suppressed. * + * When the input +str+ is empty an empty Array is returned as the string is + * considered to have no fields to split. + * * " now's the time".split #=> ["now's", "the", "time"] * " now's the time".split(' ') #=> ["now's", "the", "time"] * " now's the time".split(/ /) #=> ["", "now's", "", "the", "time"] @@ -5754,6 +5757,8 @@ static const char isspacetable[256] = { * "1,2,,3,4,,".split(',') #=> ["1", "2", "", "3", "4"] * "1,2,,3,4,,".split(',', 4) #=> ["1", "2", "", "3,4,,"] * "1,2,,3,4,,".split(',', -4) #=> ["1", "2", "", "3", "4", "", ""] + * + * "".split(',', -1) #=> [] */ static VALUE