[ruby-list:50210] String#split に nil を渡した時の動作について

From: 大塚達也 <towzero3@...>
Date: 2015-07-25 09:38:23 UTC
List: ruby-list #50210
こんにちは、大塚と申します。

String#split の第1引数に nil を渡した時の動作について質問があります。
(BUGか仕様か分からなかったのでこちらで質問します。)

リファレンスマニュアルには、第1引数に nil を渡した時は
「先頭と末尾の空白を除いたうえで、空白文字列で分割する。」
という記述があります。
http://docs.ruby-lang.org/ja/2.2.0/method/String/i/split.html


しかし、実際には nil を渡した時は $; の値で分割されるようです。

$; = "XY"
"aXYbXYcXY".split(nil) #=> ["a", "b", "c"]


リファレンスマニュアルを読む限りでは、
split(sep = $;, limit = 0)
という定義になっているので、nil を渡しているのに
デフォルト値の $; が使われるのはバグだと思うのですが、
どうでしょうか。

In This Thread

Prev Next