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)