检查 Ruby 散列中的所有对象是否都已定义(不是 nil)的最佳方法是什么?
如果哈希中至少有一个元素为 nil,则该语句应返回 false。
最佳答案
您可以使用 all?
检查给定谓词是否对可枚举中的所有元素都为真。所以:
hash.values.all? {|x| !x.nil?}
或者
hash.all? {|k,v| !v.nil?}
如果你也想检查,所有的键也是非零的,你可以修改为:
hash.all? {|k,v| !v.nil? && !k.nil?}
关于ruby - 如何确认散列中的所有元素都已定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4292920/