PerlのsplitとJavaScriptのsplit
split関数の挙動が違うことに最近気付いた。正確にはPerlの第3引数とJavaScriptの第2引数とでの挙動なんだけど。
JavaScriptの場合
var str = "a b c d e f g"; var array = str.split(/\s+/, 3); // array.toSource() = ["a", "b", "c"]
Perlの場合
my $str = "a b c d e f g"; my @array = split(/\s+/, $str, 3); # $array = ["a", "b", "c d e f g"]
Perlの場合は後続がそのまま最後の要素に入るのに対して、JavaScriptの場合は抜け落ちてしまう。個人的にはPerlの挙動の方が好きだなあ。