我想将我的String对象转换为其1个大小的子串(不是字符串)的Enumerable,我怎么能在Ruby中有效地做到这一点?
答案 0 :(得分:7)
"xyzzy".split(//) => ["x", "y", "z", "z", "y"]
答案 1 :(得分:3)
在Ruby 1.9(和1.8.7)中,您可以使用each_char可靠地迭代字符串的字符,包括正确处理多字节字符和内容。在早期版本中,each_char不存在,索引将返回字节代码而不是单个字符串。在这种情况下,您可以使用
"abcdefg".split(//u)
将以UTF-8识别方式分割字符串。
有一些很好的讨论here。
答案 2 :(得分:1)
也许我不理解你的问题,但是Ruby中的一个字符和一个字符串之间没有区别。
'hello world'.each_char {|c| puts "substring is #{c}"}