Iteração sobre substrings de igual tamanho
Pergunta
Eu quero converter meu objeto String para IEnumerable de inteiros substrings 1 de tamanho (não caracteres), como posso fazer isso de forma eficiente em Ruby?
Solução
"xyzzy".split(//) => ["x", "y", "z", "z", "y"]
Outras dicas
Em Ruby 1.9 (e 1.8.7), pode utilizar each_char de forma confiável iterar sobre os caracteres de uma string, incluindo tratamento adequado dos caracteres multi-byte e outras coisas. Em versões anteriores, each_char não existe e indexação retornará códigos de byte em vez de strings de char individuais. Neste caso, você pode usar
"abcdefg".split(//u)
que irá dividir a string de forma consciente UTF-8.
Há alguma discussão agradável aqui .
Talvez eu não entendi sua pergunta, mas não há nenhuma diferença entre um personagem e uma cadeia de 1 personagem em Ruby.
'hello world'.each_char {|c| puts "substring is #{c}"}