好的,所以我有一个数组:
numbers = ["2", "3", "4", "5"]
我需要将数组分成两个有条件的数组
numbers.reject!{|x| x > 4 }
我需要的是一个numbers
包含numbers = ["5"]
的数组和另一个包含拒绝的数组rejects = ["2", "3", "4"]
我该怎么做呢?...使用循环似乎很容易,但是有没有办法在一个内衬中做到这一点?
好的,所以我有一个数组:
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(", ")
输出:
原始数组:2、3、4、5 数字 > 4: 5 其他所有:2、3、4