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

Evitar uma quebra de linha

puts "Qual é o seu nome?";

nome = gets;

puts "Bem vindo ao nosso jogo, " + nome + "!";

Isto da uma resposta:

Bem vindo ao nosso jogo, Léo

!

Alguém poderia me ajudar?

6 respostas
{puts "Bem vindo ao nosso jogo, " + nome + "!";}

https://monteirobrena.wordpress.com/2010/08/03/ruby-conhecendo-a-linguagem/

Tentei mas não funcionou...

maior_ou_menor.rb:5: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' {puts "Bem vindo ao nosso jogo, " + nome + "!"} ^

maior_ou_menor.rb:5: syntax error, unexpected '}', expecting end-of-input

Mas de toda maneira: obrigado pelo direcionamento ao link (y) Faz sentido, pois:

"Os blocos de uma linha são limitados por {chaves} e os que possuem mais de uma linha são iniciados com DO e finalizados com END."

Léo, uma pena que não solucionou, não sou programador Ruby, só achei que seria simples de te ajudar, mas infelizmente não resolveu seu problema.

Tenta assim:

print "Bem vindo ao nosso jogo, " + nome + "!";

http://stackoverflow.com/questions/5018633/what-is-the-difference-between-print-and-puts

Samir, eu realmente agradeço sua boa vontade =]

Eu já havia tentado print... pensei que daria... mas o problema é que (ao meu fraco entendimento) o gets adiciona uma quebra de linha, ou captura a quebra de linha do enter.. sei la...

mas veja minhas tentativas:

#

print "Bem vindo ao nosso jogo, " + nome + "\r!\n"

#

puts "Bem vindo ao nosso jogo, " + nome + "\r!"

#

nome = gets + "\r"

puts "Bem vindo ao nosso jogo, " + nome + "!"

nada funcionou...

solução!

Léo,

realmente o gets inclui uma quebra de linha. Você pode usar o método strip da classe string, fazendo algo mais ou menos assim:

puts "Digite seu nome"
nome = gets
puts "Bem vindo " + nome.strip + "!"

Ou mesmo

puts "Digite seu nome"
nome = gets.strip
puts "Bem vindo " + nome + "!"

Isso é um spoiler, em breve você verá isso na aula.

Muito obrigado!!

=D