你需要帮助这个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
我没有真正得到我需要做的事情来让这个测试通过,因为我真的不知道它的要求。如果可以用文字解释而不实际给我代码让它通过那将是非常棒的!
答案 0 :(得分:2)
首先:这似乎是一项家庭作业。用Google搜索其中一个测试名称后,会显示this。
在第一个测试中,repeater
方法需要一个块,然后运行该块以便设置变量。
在第二个测试中,repeater
方法需要接受一个参数,然后在给定的块中迭代给定的次数。
第三次测试与第二次测试相同,但它应该迭代10次而不是3次。
答案 1 :(得分:1)
正如尼尔所说,方法如下:
def repeater(n=1, &block)
n.times &block
end
该方法需要一个数字和一个块,如果没有传递数字,它将只执行一次该块。
答案 2 :(得分:0)
测试是针对必须调用repeater
repeater
应该接受0或1个参数,并且应该接受代码块并屈服于它
提供的参数是产生代码块的次数
如果没有提供参数,repeater
应该至少对代码块产生一次。