0

これがメモ化手法であるとすれば、letインスタンス変数の初期化に使用できないのはなぜですか? たとえば、次の例はなぜ成功するのでしょうか。

describe "let method" do
  let(:@bar) {1}
  it "does not define instance variables" do
    expect(@bar).to be_nil
  end
end
4

1 に答える 1

3

変数let初期化するメカニズムとしてよく言われますが、実際にはhttps://www.relishapp.com/rspec/rspec-core/v/2-6/docs/で説明されているように、ヘルパーメソッドを定義するメカニズムです。 helper-methods/let-and-letであり、次の例で示されています。

describe "let method" do
  let!(:@bar) {1}
  it "defines helper methods" do
    expect(send(:@bar)).to eq(1)
  end
end
于 2013-10-13T19:12:34.883 に答える