如何为特定答案(用户输入)放置一条消息(字符串),为另一个答案放置另一条消息?例如。
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
我应该更改,添加或修改什么?
答案 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
时执行代码。