From: "大塚達也" Date: 2015-07-25T18:38:23+09:00 Subject: [ruby-list:50210] String#split に nil を渡した時の動作について こんにちは、大塚と申します。 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 を渡しているのに デフォルト値の $; が使われるのはバグだと思うのですが、 どうでしょうか。