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/