我正在编写一个使用Ruby和Watir的脚本,需要打印硬币翻转的结果。当你获胜时,HTML看起来像这样:
<div id="result" style="" class="center">
<div id="win" class="bold center">You win!</div>
<div id="lose" class="bold center"></div>
当您丢失时,win
div中的文字会消失,You lose!
div中会显示lose
。如您所见,result
包含win
和lose
。我认为这些观察中的一个或两个都很重要,但我不知道如何使用if
语句来确定是否发生了输赢。
答案 0 :(得分:2)
您可以查看相应&lt; div&gt;中的text included是否为Expressions。例如:
if browser.div(:id => "win").text.include? "You win!"
puts "won"
elsif browser.div(:id => "lose").text.include? "You lose!"
puts "lost"
else
puts "something went wrong with the coin flip"
end
还有一个更简单的例子:
if browser.div(:id => "win").text.include? "You win!"
puts "won"
else
puts "lost"
end
有关条件控制结构的更多信息,请查看Programming Ruby的{{3}}一章中的If和unless表达式部分。
答案 1 :(得分:0)
这应该会给你一个想法:
<% if @result.heads? %>
<div id="win" class="bold center">You win!</div>
<% else %>
<div id="lose" class="bold center"></div>
<% end %>
这取决于您的结果模型如下所示:
class Result
def initialize
@heads = [true, false].sample
end
def heads?
@heads
end
def tails?
!heads?
end
end