Ruby-Rspec测试

Ruby-Rspec测试,ruby,rspec,Ruby,Rspec,我想用某种方法通过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 "execut

我想用某种方法通过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

我真的不知道我需要做什么才能通过这个测试,因为我真的不知道它要求什么。如果你能用语言解释,而不给我代码让它通过,那就太棒了

该测试针对的是一种必须被称为
repeater

中继器
应接受0或1个参数,并应接受一个代码块并向其屈服

参数(如果提供)是向代码块屈服的次数


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

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

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

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


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

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

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

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

不是家庭作业,我只想自己找出代码部分。