From: flare / kcn.or.jp (Takashi Ikeda)
Subject: [ruby-list:10415] split
Date: Wed, 28 Oct 1998 19:03:10 +0900

> 暇潰し^H^H^H勉強で Perl で書いたものを Ruby に移しているので
> すが、split の挙動が Perl とは違うのですね。

たしかにいくつか違うのですが、

> 具体的には、'1:2:' で ["1", "2", ""] が出てくれたら有難いの
> ですが、何か事情があるのでしょうか?

Perlでもsplit(":", "1:2:") は ("1", "2")になります。

以下の場合に挙動が異なりますね。

・splitのlimit(rubyでは第2引数、Perlでは第3引数)に負の整数を与えたとき
rubyでは2を与えたのと同じ?だがPerlではlimitを無制限にする。

・limitを0にするとrubyではlimitが無制限になる?がPerlではlimitを指定し
ないのと同じ。

(上の2つでは、rubyの挙動は文書化されていません)

・limitを指定しないで"::"を":"でsplitした場合、rubyでは["",""]だが、
perlでは空リスト

(こちらはrubyもPerlも明確には文書かされていないように見えます)
--
			   稲葉 浩人 (inaba / st.rim.or.jp)