當我嘗試在不減去數組大小的情況下運行第二行時,它不起作用。爲什麼不?爲什麼你需要從數組大小中減去?
values = [10, 9, 11, 2, 45]
max_element = values.size - 1
first = values[0]
for i in 0..max_element
while first < values[i]
first = values[i]
end
end
p "The largest value is #{first}"
除了對Enumerable
或Array
如each
方法,是for
是遍歷元素的集合唯一的迭代器?
什麼是錯誤信息?這是一個數組越界問題嗎? – 2014-10-07 06:29:46
如果您嘗試像'1..values.size'那樣從'1'進行迭代,那麼它就會缺乏知識;你不知道該索引是基於零的,這是一個合理的錯誤。但事實並非如此。你知道索引從'0'開始,仍然期望'0..value.size'工作。我不知道你如何去想這個工作。 – sawa 2014-10-07 06:32:07
@sawa,稱之爲迷茫。 =) – user273072545345 2014-10-07 06:43:08