在Ruby中声明变量?

时间:2013-04-26 23:49:53

标签: ruby

我何时知道何时声明变量而不是Ruby?

我想知道为什么第一个代码需要输入声明为字符串并且在块之外,而第二个块则不需要。

input = ''
while input != 'bye'
  puts input
  input = gets.chomp
end
puts 'Come again soon!'

while true
  input = gets.chomp
  puts input 
  if input == 'bye'
    break 
  end
end
puts 'Come again soon!'

1 个答案:

答案 0 :(得分:25)

Ruby中没有声明任何变量。相反,规则是变量必须在使用之前出现在赋值中。

查看第一个示例中的前两行:

input = ''
while input != 'bye'

while条件使用变量input。因此,在此之前必须进行分配。在第二个例子中:

while true
  input = gets.chomp
  puts input 

同样,变量inputputs调用中使用之前已分配。在这两个例子中,一切都是对的。