From: 6ftdan@... Date: 2015-12-15T13:33:02+00:00 Subject: [ruby-core:72145] [Ruby trunk - Feature #11818] `Hash#compact` Issue #11818 has been updated by Daniel P. Clark. You can do this with `Hash#delete_if` ~~~ruby {a: 1, b: nil, c: 2}.delete_if {|k,v| v.nil?} # => {:a=>1, :c=>2} ~~~ ---------------------------------------- Feature #11818: `Hash#compact` https://bugs.ruby-lang.org/issues/11818#change-55555 * Author: Tsuyoshi Sawada * Status: Open * Priority: Normal * Assignee: ---------------------------------------- I request `Hash#compact` and `Hash#compact!` that remove the key-value pairs whose value is `nil`, as follows: h1 = {a:, 1, b: nil, c: 2} h1.compact # => {a: 1, c: 2} h1 # => {a: 1, b: nil, c: 2} h2 = {a:, 1, b: nil, c: 2} h2.compact! # => {a: 1, c: 2} h2 # => {a: 1, c: 2} h3 = {a:, 1, c: 2} h3.compact! # => nil h3 # => {a: 1, c: 2} I believe people have frequent need to do this. -- https://bugs.ruby-lang.org/