什么时候我知道什么时候声明一个变量,而不是在
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!'
解决方法
Ruby中没有声明任何变量.相反,规则是变量在使用之前必须出现在赋值中.
看第一个例子中的前两行:
input = '' while input != 'bye'
while条件使用变量输入.因此,在此之前必须进行任务.在第二个例子中:
while true input = gets.chomp puts input
再次,在put调用中使用变量输入之前,分配变量输入.在这两个例子中,全世界都是对的.