我想NilClass从散列中删除值:
args = { 'name' => 'myname', 'description' => NilClass, 'homepage' => NilClass,
'private' => NilClass, 'has_issues' => NilClass, 'has_wiki' => false,
'has_downloads' => NilClass }
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
args.reject!{|k,v| v.nil?}
Run Code Online (Sandbox Code Playgroud)
这将返回原始哈希,并且所有值仍然存在.
你有正确的想法,但NilClassRuby 的价值不是零.自己尝试一下吗?
NilClass.nil?
=> false
Run Code Online (Sandbox Code Playgroud)
你必须专门拒绝等于的值NilClass.
args.reject! { |key, value| value == NilClass }
Run Code Online (Sandbox Code Playgroud)