2012-11-28 23 views
0

我已經創建了幾個數組,包含多個整數。現在我想整數排序,最低優先。舉例來說,我有一個數組:6,6,1,2,4,4,我希望它被排序:1,2,4,4,6,6。還有,無論如何,我可以讓紅寶石​​識別4個最低值,並以某種方式顯示它們?我試圖搞亂.show,但是因爲我對編程相當陌生,所以我很困惑我收到的結果。排序數組,並選擇最低數字?

回答

4

你嘗試過嗎?

a = [6,6,1,2,4,4] 

p a.sort 
#=> [1, 2, 4, 4, 6, 6] 

sort將升序排列。

如果你需要他們以降序排列,使用sort與塊:

p a.sort {|a,b| b <=> a} 
#=> [6, 6, 4, 4, 2, 1] 

UPDATE:不知道我怎麼錯過了有關最低值的部分...

謝謝@ Mladen

a.sort.take(4) 
#=> [1, 2, 4, 4] 
+1

並取4個最低值,可以使用'a.sort.take(4)' –

+0

並且有可能以任何方式讓它選擇所有的最低值?例如,如果我有兩個數組的數組,第一個包含:[1,1,2,2,3,3,4,4],那麼它只會選擇1,1,2,2。如果數組有[1,1,2,2,2,3,3,4] - 如果可以節省1,1,2,2,2? – johk

+0

試試這個:'max = 2; a = [1,1,2,2,3,3,4,4] .select {| v | v <= max}' – 2012-11-28 21:30:04