Iterieren Teil gleicher Größe
Frage
Ich will mein String-Objekt zu Enumerable seines 1 großen Teils (nicht Zeichen) konvertieren, wie kann ich dies effizient in Ruby zu tun?
Lösung
"xyzzy".split(//) => ["x", "y", "z", "z", "y"]
Andere Tipps
In Ruby 1.9 (und 1.8.7) können Sie zuverlässig über die Zeichen eines Strings iterieren verwenden each_char zu, einschließlich der richtigen Handhabung von Multi-Byte-Zeichen und so. In früheren Versionen hat each_char nicht existieren und Indizierung Byte-Codes, anstatt einzelnen char Strings zurück. In diesem Fall können Sie
"abcdefg".split(//u)
, welche die Zeichenfolge in einer UTF-8 bewusst Weise wird geteilt.
Es gibt einige nette Diskussion hier .
Vielleicht verstehe ich Ihre Frage nicht, aber es gibt keinen Unterschied zwischen einem Zeichen und einer Reihe von 1 Zeichen in Ruby.
'hello world'.each_char {|c| puts "substring is #{c}"}