- # this code works
- list = (0..20).to_a
- # => [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
- odd = list.select { |x| x.odd? }
- # => [1,19]
- list.reject! { |x| x.odd? }
- # => [0,20]
- # but can i emulate this type of functionality with an enumerable method?
- set = [1,10]
- # => [1,10]
- one,five,ten = set
- # => [1,10]
- one
- # => 1
- five
- # => 5
- ten
- # => 10
- # ------------------------------------------------
- # method I am looking for ?
- list = (0..20).to_a
- odd,even = list.select_with_reject { |x| x.odd? }
- # put the matching items into the first variable
- # and the non-matching into the second
解决方法
当然,你可以这样做:
- odd,even = list.partition &:odd?