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?

Foi útil?

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}"}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top