我有以下幾點:Rails - 循環但設置MAX?
@books.each do |book|
... stuff
end
我很好奇,學習。我如何更新上面的內容來完成像循環遍歷@books但不超過6次,MAX/6的上限?
感謝
我有以下幾點:Rails - 循環但設置MAX?
@books.each do |book|
... stuff
end
我很好奇,學習。我如何更新上面的內容來完成像循環遍歷@books但不超過6次,MAX/6的上限?
感謝
做到這一點,最簡單的方法是取數組的一個切片,並遍歷是:
@books[0,6].each do |book|
# ...
end
另一種方法是保持陣列完整,當您完成後,請跳出循環:
@books.each_with_index do |book, i|
break if (i == 6)
# ...
end
@books.each_with_index do |book, i|
if i >= 6
break
end
... stuff
end
紡紗通過h可能是一個非常大的名單是低效的。 Jacob Relkin的答案中描述的「break」技術是一種更好的方法。 – tadman 2010-10-27 15:38:28
嘿,在我改變之前就抓住了我。 – shoebox639 2010-10-27 15:43:56
@books.each_with_index do |book, i|
break if i > 5
#stuff...
end
我看到你修正了你的觀點,但你已經有了經典的「Off By One」錯誤。如果你只需要6個元素,'i'從0..5變爲0,而不是0..6。 – tadman 2010-10-27 15:41:10
+1爲優雅。 – shoebox639 2010-10-27 15:38:39
如果書沒有6項,該怎麼辦?第一個問題?試圖瞭解這是做什麼? – TheExit 2010-10-27 16:00:12
這是一個簡單的數組切片,最多需要6個項目。如果數組的大小隻有3,那麼你只會得到3.第一個參數是從哪裏開始的索引,在你的情況下是0,但你可以調整這個從7到12使用'[6,6 ]' – tadman 2010-10-27 16:16:10