0

我正在使用 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>

输的时候,div里的文字win消失,You lose!出现在losediv里。如您所见,result同时包含winlose。我认为这些观察中的一个或两个很重要,但我不知道如何使用if语句来确定是赢还是输。

4

2 回答 2

2

您可以检查文本是否包含在相应的 <div> 中。例如:

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表达式章节中的 If 和 unless 表达式部分。

于 2013-11-08T01:18:24.613 回答
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
于 2013-11-08T00:40:34.807 回答