Ruby 针对不同用户输入的不同消息

Ruby 针对不同用户输入的不同消息,ruby,Ruby,如何将一条消息(字符串)用于特定答案(用户输入),另一条消息用于另一个答案?例如 puts "Did You Like My Program?" feedback = gets if feedback = "Yes" puts "We're Glad!" elsif feedback = "No" puts "We Will Try To Improve!" end 我应该更改、添加或修改什么?您的问题是,在比较时,您必须使用,而不是= 在命令行上输入时,始终使用Enter。它在字符

如何将一条消息(字符串)用于特定答案(用户输入),另一条消息用于另一个答案?例如

puts "Did You Like My Program?"
feedback = gets

if feedback = "Yes"
  puts "We're Glad!"
elsif feedback = "No"
  puts "We Will Try To Improve!"
end

我应该更改、添加或修改什么?

您的问题是,在比较时,您必须使用,而不是
=

在命令行上输入时,始终使用Enter。它在字符串末尾生成
\n
。因此,您需要使用删除它

此外,为了过滤用户输入,我建议使用以下变体:

feedback = nil

until %w[y n].include?(feedback)
  puts 'Did You Like My Program? Y/N'
  feedback = gets.chomp.downcase
end

if feedback == 'y'
  puts "We're Glad!"
else
  puts "We Will Try To Improve!"
end
简要说明:

  • 代码使用和
  • %w[y n]
    等于
    [“y”,“n”]
  • until
    -循环在条件为
    false
    时执行代码

feedback=get.chomp
。和
反馈==“是”