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

função puts

Olá,

Quando faço ''' puts "Qual o seu nome?" nome = gets.split puts "Olá #{nome}" ''' A saída é :

Olá ["Ricardo"]

Como faço para ser: Olá Ricardo ?

Por qual motivo é colocado esses colchetes e a string entre aspas?

4 respostas
puts "Qual o seu nome?" 
nome = gets.split 
puts "Olá #{nome}"

A saída é : Olá ["Ricardo"]

Como faço para ser: Olá Ricardo ?

Por qual motivo é colocado esses colchetes e a string entre aspas?

Strings em Ruby e na maior parte das linguagens são sempre entre "exemplo", números por exemplo, não.

As chaves {} são usadas para interpolação, uma forma mais simples de concatenar (unir) variáveis com strings, ex:

nome = gets.strip
puts nome + " tem " + nome.size.to_s + " caracteres"

nome = gets.strip
puts "#{nome} tem #{nome.size} caracteres"

Fazem a mesma coisa, mas a de baixo ficou muito mais simples, né mesmo?

Agora, qual saída, vc quer? Isso não entendi.

Quando faço:

puts "Qual o seu nome?" 
nome = gets.split 
puts "Olá #{nome}"

A saída fica:

Olá ["Ricardo"]

Gostaria que fosse:

Olá Ricardo

Por qual motivo na saída ele está colocando o conteudo da variavel entre colchetes?

obs. claro que entrei com o nome Ricardo.

solução!

Pessoal,

O meu erro foi que estava trocando a função STRIP por SPLIT. A função SPLIT retorna uma array, por isso a saida aparece entre colchetes.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software