#encoding: utf-8 puts "isso é inaceitável".scan(/\w+/)resultado:
isso inaceit velUh-oh... =/ nada bom.
Procurei por todo lado, tentando achar o que eu estava fazendo de errado. Achei vários posts dizendo que isso deveria funcionar e ninguém com o mesmo problema que eu. Não sei o que fiz de errado até agora, se alguém souber, por favor me avise =/
De qualquer maneira, tentei resolver o problema sem sucesso. Então, na documentação do Oniguruma, achei um "paliativo":
#encoding: utf-8 puts "isso é aceitável".scan(/\p{Word}+/)
E o resultado:
isso é aceitável
Ótimo!
Além disso, fuçando lá vi várias outras classes bastante úteis, como "\p{Alpha}", "\p{Alnum}, "\p{Upper}" e "\p{Lower}" entre outros. É possível também negar a classe usando um "\P" (maiúsculo) como prefixo.
Uai, aqui também não deu problema não, e no irb nem precisei de declarar o encoding:
ResponderExcluirirb(main):001:0> "isso é inaceitável".scan(/\w+/)
=> ["isso", "é", "inaceitável"]
enc.rb
------
# encoding: utf-8
rst = "isso é inaceitável".scan(/\w+/)
rst.each {|e| puts e}
[taq@neo/tmp]ruby1.9 enc.rb
isso
é
inaceitável
Que que você tá usando aí de OS, homem de Deus? :-)