好了,我有一個數組:如何在Ruby中分隔數組?
numbers = ["2", "3", "4", "5"]
,我需要陣列與條件
numbers.reject!{|x| x > 4 }
和我需要的是一個陣列numbers
含有numbers = ["5"]
和另一個分割成兩個陣列陣列與拒絕rejects = ["2", "3", "4"]
我該怎麼做? ...循環似乎很容易,但是有一種方法可以在一個班輪中完成這個任務嗎?
好了,我有一個數組:如何在Ruby中分隔數組?
numbers = ["2", "3", "4", "5"]
,我需要陣列與條件
numbers.reject!{|x| x > 4 }
和我需要的是一個陣列numbers
含有numbers = ["5"]
和另一個分割成兩個陣列陣列與拒絕rejects = ["2", "3", "4"]
我該怎麼做? ...循環似乎很容易,但是有一種方法可以在一個班輪中完成這個任務嗎?
arr = ["2", "3", "4", "5"]
numbers, rejects = arr.partition{ |x| x.to_i > 4 }
# numbers = ["5"]
# rejects = ["2", "3", "4"]
numbers = [2, 3, 4, 5]
n_gt_four = numbers.select{|n| n > 4}
n_all_else = numbers - n_gt_four
puts "Original array: " + numbers.join(", ")
puts "Numbers > 4: " + n_gt_four.join(", ")
puts "All else: " + n_all_else.join(", ")
輸出:
Original array: 2, 3, 4, 5 Numbers > 4: 5 All else: 2, 3, 4
只是因爲我的心情很糟糕:'n_gt_four = numbers.select(&4.method(:<))'。 ;-) – 2012-08-14 19:23:01
尼斯一班輪。我將提交更詳細的一個。 – 2012-08-14 19:14:22