0

Stringオブジェクトをその1サイズのサブストリング(charsではない)のEnumerableに変換したいのですが、Rubyでこれを効率的に行うにはどうすればよいですか?

4

3 に答える 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 に答える