Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Erro ao Executar o exercício inicial

Eu consegui instalar o ruby no meu micro. Quando executo no cmd "ruby -v", tenho como retorno a versão do ruby.

Entretanto, segui os passos iniciais, criei um arquivo "maior_ou_menor.rb", digitei o trecho dentro do arquivo :

puts "Bem vindo ao jogo da adivinhação"

Ao executar no cmd "ruby maior_ou_menor.rb", tenho como retorno: maior_ou_menor.rb:1: invalid multibyte char maior_ou_menor.rb:1: invalid multibyte char

Alguém pode me ajudar, por favor.

Grato.

7 respostas

Eu observei que é algo referente aos caracteres especiais, pois quando eu digitei o trecho de código sem acentuação, sem caracteres especiais:

puts "Bem vindo ao jogo da adivinhacao"

O programa foi executado com sucesso.

Como corrigir para que o programa aceite caracteres especiais e acentuação?

Estou utilizando a versão do ruby:

ruby 2.3.1p112 <2016-04-26 revision 54768> [x64-mingw32]

Já tentei colocar o comentário abaixo no inicio do arquivo ruby, mas o erro persiste:

# encoding: utf-8
puts "Bem vindo ao jogo da adivinhação"

Eu estava utilizando o editor de text notepad ++, vi no tópico abaixo o mesmo erro e recomendavam utilizar o sublime em vez do notepad++:

https://cursos.alura.com.br/forum/topico-padrao-utf-8-no-prompt-20443

Realmente com o sublime não acontece o erro.

Alguém tem alguma explicação?

Joaquim, não sei bem se isso é uma explicação, mas já tive problemas com scripts SQL e o notepad ++. Ele insere alguns caracteres ocultos no texto, se não me engano até no notepad fica oculto, mas quando eu tentava executar na base de dados eu tinha problemas. Se alguém tiver uma explicação para isso, ou ter certeza de o que pode ser, também gostaria de saber.

Joaquim será necessario colocar o seguinte codico no inicio dos comandos

-- coding: utf-8 --

faça um apt-get update e em seguida utilize o comando gem install magic_encoding acredito que isso resolvera todos os seus problemas

Victor Cesar Merigue Pragana, boa tarde! Então, já tentei colocar esse comentário no início do programa, mas também não funcionou, dá erro:

"syntax error, enexpected ':', expecting end-of-input -- coding: utf-8 --"

Como expliquei antes, esse erro acontece quando digito o meu programa no notepad++, no subline funciona normalmente, sem precisar comentar "coding: utf-8" no início do programa.

Na realidade eu queria descobrir porque esse "erro" acontece no notepad++, costumo utilizar em outras linguagens e nunca aconteceu algo semelhante.

Quanto ao apt-get update, não vai rolar, estou utilizando o Windows.

De qualquer forma, obrigado!

solução!

Consegui identificar o que faz o notepad ++ não aceitar a acentuação, no menu formatar estava selecionado a codificação em ANSI, eu alterei para codificação em UTF-8, então os códigos criados no notepad++ passaram a aceitar os acentos e caracteres especiais sem problema.