2017-09-04 12 views

答えて

6

空の文字列で分割する場合は、は、文字列の前後に空の文字列があるため、返されたリストの先頭と末尾に空の要素を取得します。何をしたい

は完全に機能的に書き出され、パラメータなしの.combです:

"hi".comb.elems.say; # 2 

は、詳細はhttps://docs.perl6.org/routine/comb#(Str)_routine_combを参照してください。

2

この理由は、あなたが区切りに空のStr “”を使用するときは、次の文字にマッチする正規表現/<|wb>/を使用していたかのように、それは同じです。したがって、最初の文字の前と最後の文字の後も一致します。 Perl 5では、このような "余分な"文字列がこの場合(そしてこの場合のみ)削除されます。 Perl 6の代わりに何

は、明示的に:skip-empty

'hi'.split('') :skip-empty 
'hi'.split('', :skip-empty) 

split("", "hi") :skip-empty 
split("", "hi", :skip-empty) 

それとも、実際に

'hi'.comb(/./) 
'hi'.comb(1) 
'hi'.comb 

comb(/./, 'hi') 
comb( 1, 'hi') 
をしたいかを指定することを許可しています
関連する問題