我有一个小程序,用户输入他们的名字,3个点出现以象征加载,然后它在消息中输出他们的名字。
以下,没有加载功能,工作正常
println(labelNode.text)
一旦我添加了这样的加载函数:
class Item
puts "Enter name"
def name
@username = $stdin.gets.chomp
end
end
item = Item.new
puts "Thankyou #{item.name}" #=> returns name entered
它不是在thankyou消息中返回名称,而是返回(0..2),以某种方式调用" loading"功能在"名称"功能搞砸了。我认为最好的方法是能够访问"用户名" "名称"中的变量功能?我听说全局变量很糟糕,但我还是不确定如何做到这一点。那我该怎么办?
答案 0 :(得分:1)
您可以在@username
之后返回loading
的值:
def name
@username = $stdin.gets.chomp
loading
@username
end
Ruby中的函数默认返回其最后一个语句的结果,name
调用loading
:
def name
@username = $stdin.gets.chomp
return loading
end
def loading
return (0..2).each ...
end
name
返回从loading
获取的值,该值返回从each
获取的值,该值是调用它的集合 - (0..2)
。< / p>