以下是來自The Rspec Book。我想知道爲什麼messages << message
在def puts
不是@messages << message
。我明白是memoization,並且我也明白@messages
是一個實例變量。那麼,它應該用於同一個班級嗎?還是它是一個錯字?爲什麼不使用「@ messages」?
class Output
def messages
@messages ||= []
end
def puts(message)
messages << message
end
end
def output
@output ||= Output.new
end
Given /^I am not yet playing$/ do
end
When /^I start a new game$/ do
game = Codebreaker::Game.new(output)
game.start
end
Then /^I should see "([^"]*)"$/ do |message|
output.messages.should include(message)
end
感謝-1個人,非常鼓舞人心。請解釋我爲什麼得到-1? – shin
問題對我來說似乎沒問題+1 :) – tihom