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