-1

嗨,我正在尝试通过某种方法通过此 rspec 测试,您好需要帮助。问题是我不知道它在问什么。这是我试图通过的测试。

describe "repeater" do
  it "executes the default block" do
    block_was_executed = false
    repeater do
      block_was_executed = true
    end
    block_was_executed.should == true
  end

  it "executes the default block 3 times" do
    n = 0
    repeater(3) do
      n += 1
    end
    n.should == 3
  end

  it "executes the default block 10 times" do
    n = 0
    repeater(10) do
      n += 1
    end
    n.should == 10
  end
end

我真的不知道我需要做什么才能通过这个测试,因为我真的不知道它在问什么。如果可以用文字解释而无需实际给我代码以使其通过,那就太棒了!

4

3 回答 3

2

首先:这似乎是一项家庭作业。谷歌搜索其中一个测试名称,出现了这个.

在第一个测试中,该repeater方法需要获取一个块,然后运行该块以设置变量。

在第二个测试中,该repeater方法需要接受一个参数,然后在给定的块中迭代给定的次数。

第三个测试与第二个测试相同,只是它应该迭代 10 次而不是 3 次。

于 2013-03-21T22:18:33.347 回答
1

正如尼尔所说,该方法如下所示:

def repeater(n=1, &block)
  n.times &block
end

该方法需要一个数字和一个块,如果没有传递任何数字,它将只执行一次该块。

于 2013-03-21T22:19:28.260 回答
0

测试是针对必须调用的方法repeater

repeater应该接受 0 或 1 个参数,并且应该接受一个代码块并屈服于它

提供的参数是屈服于代码块的次数

如果未提供参数,repeater则应至少向代码块屈服一次。

于 2013-03-21T22:17:13.027 回答