2015-01-06 29 views
1

此代码将返回基于整个字符串是否是大写为什么这个“聋奶奶”程序不正确?

response = '' 

while response != "BYE" 
    puts "What would you like deary?" 
    response = gets.chomp 
    if response = response.downcase 
     puts "speak up!" 
    else 
     puts "I can hear you!" 
    end 
    response = gets.chomp 
end 

此代码,但是,总是返回正确的短语“说话”,无论输入的字符串是否是全小写或全部大写:

puts "What would you like deary?" 
response = gets.chomp 

while response != "BYE" 
    if response = response.downcase 
     puts "speak up!" 
    else 
     puts "I can hear you!" 
    end 
    response = gets.chomp 
end 

我有点困惑,为什么会发生这种情况。

回答

6

看起来要测试相等(==),不进行分配(=):

if response == response.downcase