У меня есть небольшая программа, в которой пользователь вводит свое имя, 3 символа подходят для обозначения загрузки, а затем выводит их имя в сообщении.Доступ к переменной переменной, внешнему классу без ошибки
Следующая без функции загрузки, работает отлично
class Item
puts "Enter name"
def name
@username = $stdin.gets.chomp
end
end
item = Item.new
puts "Thankyou #{item.name}" #=> returns name entered
После того, как я добавить функцию загрузки, например, такие:
class Item
puts "Enter name"
def name
@username = $stdin.gets.chomp
loading
end
def loading
(0..2).each do |x|
puts "."
end
end
end
item = Item.new
puts "Thankyou #{item.name}" #=> returns (0..2)
Вместо возвращения имени в сообщении ThankYou, он возвращает (0 ..2), как-то вызов функции «загрузки» в функции «имя» испортил ее. Я предполагаю, что лучший способ - получить доступ к переменной «имя пользователя» в функции «имя»? Я слышал, что глобальные переменные плохи, но я не уверен, как их все делать. Итак, что мне делать?
Спасибо, намного проще, чем я думал! –