因此,Ruby有一個select方法,可以根據從塊傳入的條件從數組中選取元素。Ruby選擇方法:檢查選擇的項目數
例如
arr = [1,2,3,4]
arr.select {|x| x.even? } => [2, 4]
我的問題涉及大陣,我只希望一定數量的選擇項。例如,在陣列之外,我只需要匹配條件的前5個數字。
arr.select{|x| x.even?}[0...5]
這是我到目前爲止。這是非常緩慢的,因爲在選擇前五個元素之前,Ruby在整個數組上運行select函數。
我想看看是否有辦法停止選擇功能,當前五個元素被選中。
例如,如果我能做到這一點
res = arr.select do |x|
x.even?
break if self.length > 5
end
在這種情況下,自對res數組的引用。我認爲這個參考文件不會起作用,但我希望它能夠說明我的觀點。
這正是我所需要的。非常感謝你。 – davidhu2000