Rails' ActiveSupport adds #slicearrow-up-right and #slice!arrow-up-right to the Hash class. The interface of these two methods seems a little inconsistent though.
#slice
#slice!
Hash
> {a: 1, b: 2, c: 3}.slice(:a) => {:a=>1}
The #slice method returns what is being sliced.
> {a: 1, b: 2, c: 3}.slice!(:a) => {:b=>2, :c=>3}
The #slice! method, on the other hand, returns what is being excluded.
Last updated 4 years ago