-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

まず、これは宿題のようです。テスト名の 1 つをグーグルで検索すると、これが表示されます

最初のテストではrepeater、変数が設定されるようにメソッドが実行されるブロックを取得する必要があります。

2 番目のテストでは、repeaterメソッドは引数を取り、指定されたブロックを指定された回数繰り返す必要があります。

3 番目のテストは 2 番目のテストと同じですが、3 回ではなく 10 回反復することになっています。

于 2013-03-21T22:18:33.347 に答える
1

ニールが言ったように、メソッドは次のようになります。

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

このメソッドは数値とブロックを必要とします。数値が渡されない場合、ブロックは 1 回だけ実行されます。

于 2013-03-21T22:19:28.260 に答える
0

テストは、呼び出さなければならないメソッド用ですrepeater

repeater0 または 1 個のパラメーターを受け入れ、コード ブロックを受け入れてそれに屈する必要があります

パラメータが提供されている場合は、コード ブロックに譲る回数です。

パラメータが指定されていない場合はrepeater、コード ブロックを少なくとも 1 回は生成する必要があります。

于 2013-03-21T22:17:13.027 に答える