Stringオブジェクトをその1サイズのサブストリング(charsではない)のEnumerableに変換したいのですが、Rubyでこれを効率的に行うにはどうすればよいですか?
3 に答える
7
"xyzzy".split(//) => ["x", "y", "z", "z", "y"]
于 2009-02-19T02:42:43.057 に答える
3
Ruby 1.9 (および 1.8.7) では、 each_char を使用して、マルチバイト文字などの適切な処理を含め、文字列の文字を確実に反復処理できます。以前のリリースでは、each_char は存在せず、インデックス作成は単一の char 文字列ではなくバイト コードを返します。この場合、使用できます
"abcdefg".split(//u)
これにより、文字列が UTF-8 対応の方法で分割されます。
ここでいくつかの良い議論があります。
于 2009-02-19T03:01:36.740 に答える
1
あなたの質問がわからないかもしれませんが、Rubyでは1文字と1文字の文字列に違いはありません。
'hello world'.each_char {|c| puts "substring is #{c}"}
于 2009-02-19T02:40:41.020 に答える