0
describe Array do
describe "#sum" do
it "has a #sum method" do
expect([]).to respond_to(:sum)
end
it "should be 0 for an empty array" do
expect([].sum).to eq(0)
end
it "should add all of the elements" do
expect([1,2,4].sum).to eq(7)
end
end
end
上面的代碼是給我的測試代碼。並且我將下面的代碼用測試代碼進行測試。我認爲它會返回總數7.(1 + 2 + 4 = 7),但它返回0 ...我想它不會把[1,2,4]數組作爲參數。我究竟做錯了什麼?Ruby方法沒有得到數組參數
非常感謝你!真棒回答:-) – gin85
我還有一個問題,如果你不介意。所以你說它已經初始化了,如果我只想得到[1,2,4]數組本身呢?我怎樣才能訪問它? (在上面的答案中,'x'如何得到數組[1,2,4]? – gin85
在上面的例子中,'self'是引用數組。 'def sum'是一個實例方法,指的是數組的實例 - 在這種情況下[1,2,4] 什麼注入基本上定義sum = 0;然後遍歷數組(x始終是數組中的一個元素)。 – trueunlessfalse