如何简化以下检查?...
if node[:base][:database][:adapter].empty? || node[:base][:database][:host].empty? ||
node[:base][:database][:database].empty? || node[:base][:database][:port].empty?
类似的东西
required_keys = { :adapter, :host, :database...etc...}
required keys - node[:base][:database] == []
这种语法有点偏离,但基本上是从所需的键集中减去您拥有的键。如果您的集合中拥有所有必需的键,则结果应该为空。
我不确定语法是否正确? 。任何帮助,将不胜感激
required_keys = [:adapter, :host, :database ]
if required_keys.any?{|x| node[:base][:database][x].empty?}
#code here
end
或者你也可以这样做:
node[:base][:database].values_at(*required_keys).any?(&:empty?)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)