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

frase concatenada na mesma linha

Gente, td bem? estou fazendo o código abaixo e queria que a saída fosse na mesma linha(Vou contar 5 vezes). CÓDIGO:

puts "quer contar até quanto?"
n = gets
puts "vou contar " + n + "vezes."

for contador in 1..n.to_i
    puts "contando "+ contador.to_s
end

PROMPT:

quer contar até quanto?
5
vou contar 5
vezes.
contando 1
contando 2
contando 3
contando 4
contando 5
5 respostas

Oi Felipe,

td bom? A função puts do Ruby por padrão pula uma linha. Se você não quer pulá-la pode usar a função print para isso.

Abraços

o print deu o mesmo retorno, quebrando a linha. :(

quer contar até quanto?
5
vou contar 5
vezes.contando 1
contando 2
contando 3
contando 4
contando 5

Tem certeza que foi salvo com print? Testei aqui seu código só mudando para print e funcionou:

puts "quer contar até quanto?"
n = gets
puts "vou contar " + n + "vezes."

for contador in 1..n.to_i
    print "contando "+ contador.to_s + ","
end

Saída:

$ ruby teste.rb 
quer contar até quanto?
5
vou contar 5 vezes.
contando 1,contando 2,contando 3,contando 4,contando 5,

No meu ele está quebrando a linha na concatenação quando uso variável, mas quando uso número, funciona. A diferença do print com o puts está ao final da string que aí sim a mantém na mesma linha. Será que é alguma diferença de versões? tenho instalado a ruby 2.4.2p198 (2017-09-14 revision 59899) [x64-mingw32]

solução!

Consegui resolver apenas com a função strip.

puts "Digite um número"
n = gets.strip
puts "Vou contar #{n} vezes"

Obrigado!!!!