11
A
回答
32
您可以使用all?
来检查给定的谓词是否对于枚举中的所有元素都为真。所以:
hash.values.all? {|x| !x.nil?}
或者
hash.all? {|k,v| !v.nil?}
如果你还需要检查,所有的按键都非空,以及,你可以修改,为:
hash.all? {|k,v| !v.nil? && !k.nil?}
2
Enumerable#all?
方法呢正是你所需要的。
10
的另一种方法:
!hash.values.include? nil
0
的元素(值),其是nil
被定义。它被定义为nil
对象。
如果你想看看是否有任何钥匙丢失,然后执行以下操作:
hash = {:key1 => nil, :key2 => 42, :key3 => false}
keys = [:key1, :key2, :key3]
all_defined = keys.all?{|key| hash.has_key?(key)} # Returns true
相关问题
- 1. XmlReader认为所有元素都是EndElements
- 2. 如何按散列元素的顺序添加散列元素
- 3. Common Lisp:列表中的所有元素或任何元素都为真
- 4. 如何一次读取数组的所有元素并确定数组中已存在的元素?
- 5. 如何隐藏元素只有匹配特定的散列?
- 6. 如何为Prolog指定列表的所有元素都必须是1或0?
- 7. 如何获取已注册的自定义元素列表
- 8. 检查散列中的所有值是否都是正确的值(来自预定义的值集)
- 9. 如何将所有停留在LinkedList中已定义元素之前的元素移至尾部?
- 10. 如何打印列表中的元素和所有元素
- 11. 确保所有更改都已注释
- 12. 删除所有以散列开头的列表元素
- 13. 元素已定义错误
- 14. 确定矩阵中的所有元素是否都以Python连接
- 15. 如果所有元素都有给定的类,如何将一个类添加到元素中?
- 16. 如何提取列表中特定属性的所有元素?
- 17. 如何打印在另一个文件中定义的散列元素?
- 18. 如何确定数组中定义的元素的数量?
- 19. 在C#中,如何确定元素的XSD定义的MaxLength
- 20. 为什么我所有的“商店”列表元素都不是正确的?
- 21. 如果列中的所有元素都是负值,熊猫会将列切片
- 22. PHP如何获取所有已定义变量的列表?
- 23. Ruby如何将元素添加到元素来散列,返回散列?
- 24. 有没有一种简单的方法来验证散列元素的散列存在和被定义?
- 25. 如何定义没有ID的元素?
- 26. .removeClass从所有元素(与单个定义的元素)
- 27. 如何解决WSDL中已定义的元素?
- 28. 明确的元素:两边都有浮动的兄弟元素
- 29. 如何列出SharePoint中TextBox中列的所有元素?
- 30. 确定在阵列中的所有值都等于
没有一个块`所有`自动检查,如果(阵列)单元都是非为零,所以值检查可以简化为`hash.values.all?`,而keys +值则检查为`hash.flatten.all?`! – 2010-11-27 18:57:37
@glenn:不完全。它检查他们是真的。 “假”不是“无”,但它也不是真的。 – sepp2k 2010-11-27 19:03:09