Fabiano obrigado, valeu pela intenção, realmente ficou um pouco confuso para mim que sou iniciante.Mas o Felipe passou uma solução que para mim ficou um pouco mais compreensível. De fato, o código funcionou conforme o esperado, mas fiz uma pequena alteração:
def editar_dados
puts "Qual o seu nome?"
nome = gets.chomp
return nome
end
def imprimir_dados
puts "\n" + "seu nome foi armazenado".upcase
puts editar_dados.upcase + " teste concluído."
end
imprimir_dados
e o resultado da execução deste código é:
SEU NOME FOI ARMAZENADO
Qual o seu nome?
edu
EDU teste concluído.
Não sei se estou entendendo direito, mas quando uma função é invocado dentro de outra função, o que ocorre é a execução da função invocada e não somente o valor desejado contido na função.
Tentei seguir a orientação do Fabiano:
def editar_dados
puts "Qual o seu nome?"
nome = gets.chomp
return nome
end
dado = editar_dados
def imprimir_dados
puts "\n" + "seu nome foi armazenado".upcase
puts dado.upcase + " teste concluído."
end
imprimir_dados
E o resultado é:
Qual o seu nome?
edu
SEU NOME FOI ARMAZENADO
apaga_fabiano.rb:9:in `imprimir_dados': undefined local variable or method `dado' for main:Object (NameError)
from apaga_fabiano.rb:12:in `<main>'
Não consigo entender por que não consigo retornar apenas o valor da função. Peço desculpas por atormentá-los com essas pequenas dúvidas, mas tenho dificuldade em dar continuidade ao curso sem antes entender esta etapa direito.