不同用户输入的不同消息

时间:2019-03-21 20:46:23

标签: 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

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

1 个答案:

答案 0 :(得分:1)

您的问题是,当您进行比较时,必须使用==,而不是@RunWith(Cucumber.class) @CucumberOptions(plugin = { "pretty", "html:target/cucumber-html-report", "json:target/cucumber.json" }, glue = { "some.stepdef" }, features = { "src/cucumberTest/featureFiles" }, tags = { "@now" } ,dryRun = true, strict=true) public class CucumberNowTestDryRunner { }

在命令行上输入时,始终使用 Enter 。它在字符串的末尾产生=。因此,您需要使用chomp将其删除。

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

\n

简要说明:

  • 代码使用Array#include?String#downcase
  • 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时执行代码。