From: spiketeika@... Date: 2015-12-14T14:30:05+00:00 Subject: [ruby-dev:49438] [Ruby trunk - Bug #11729] String#split(nil) incorrectly uses $; Issue #11729 has been updated by Kaneko Yuichiro. I think it is better to fix the document of `String#split` ```diff --- a/string.c +++ b/string.c @@ -6701,7 +6701,7 @@ static const char isspacetable[256] = { /* * call-seq: - * str.split(pattern=$;, [limit]) -> anArray + * str.split(pattern=nil, [limit]) -> anArray * * Divides str into substrings based on a delimiter, returning an array * of these substrings. @@ -6716,8 +6716,8 @@ static const char isspacetable[256] = { * str is split into individual characters. If pattern contains * groups, the respective matches will be returned in the array as well. * - * If pattern is omitted, the value of $; is used. If - * $; is nil (which is the default), str is + * If pattern is nil, the value of $; is used. + * If $; is nil (which is the default), str is * split on whitespace as if ` ' were specified. * * If the limit parameter is omitted, trailing null fields are ``` should I create another issue to discuss about the documentation change? If no need I will commit it. ---------------------------------------- Bug #11729: String#split(nil) incorrectly uses $; https://bugs.ruby-lang.org/issues/11729#change-55533 * Author: Tatsuya Otsuka * Status: Closed * Priority: Normal * Assignee: * ruby -v: ruby 2.3.0dev (2015-11-21 trunk 52698) [x86_64-darwin14] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- Hi, Is this intentional? ``` $; = "@" "a@b".split(nil) # => ["a", "b"] ``` I expect `["a@b"]` because I found the following sentence in the Japanese documentation. ``` 1 バイトの空白文字 ' ' か nil 先頭と末尾の空白を除いたうえで、空白文字列で分割する。 ``` http://docs.ruby-lang.org/ja/2.2.0/method/String/i/split.html -- https://bugs.ruby-lang.org/