回答
使用include?
並添加一個「不」來開頭:
![1, nil, 2, 'a'].include?(nil)
如果所有元素都是非空,則數組不包括nil
。使用.all?
意味着你必須要掃描整個陣列,.include?
應該爲它找到一個匹配,而且也沒有調用塊的開銷,就立即停止;所以,.include?
應該更快,但性能差異可能是相當無關的,除非你有一個龐大的數組。我會選擇最適合你的。
這可能會比我的答案快一點。 – 2011-04-01 23:50:32
簡短而詳細。你贏得了一個獨角獸。 – 2011-04-01 23:56:53
@Douglas:性能差異幾乎肯定會變得無關緊要。我真的很喜歡sarnold,只要清楚,使用'none?'完全符合意圖,清晰度通常是我的第一選擇。 – 2011-04-02 00:03:06
你打高爾夫?
因爲你會得到什麼這是我們所短而直。個人而言,我寧願一個稍微詳細方式:
[...].all? {|x| !x.nil? }
我想你可以做:
!list.any?(&:nil?)
但我覺得這比你原來的代碼更直接。更少的字符,但是,如果你不喜歡塊,這就隱藏了&中的塊:符號
[那麼,你原來的代碼有一個問題,那就是{| x | x}對於nil和false值均爲false。如果你真的想要塊{| x | !x.nil}]
幾乎同樣萬畝太短了,我不認爲我的任何比它好,只是另一種變體一樣:
![1, nil, 2, 'a'].index(nil)
- 1. 什麼是設計路線的最佳途徑?有多條路線是否好?
- 2. 最短路徑查詢返回許多路徑而不是一條路徑
- 3. 如何檢查數組中的所有元素是否都是正整數?
- 4. 最短路徑不是圖中的路徑
- 5. 定期檢查,看看是否所有線程都完成
- 6. 有沒有算法來計算最短的樹(不是路徑)?
- 7. 什麼是圖中的最小路徑?
- 8. XmlReader認爲所有元素都是EndElements
- 9. 決定從s到t的所有最短路徑是否包含邊e
- 10. 總是有一些MST是最短路徑樹嗎?
- 11. jquery檢查元素是否有元素
- 12. A *總是提供最短路徑嗎?
- 13. 是否所有SocketExceptions都是「致命的」?
- 14. 不是所有的代碼路徑都返回一個值
- 15. 不是所有的代碼路徑都返回一個值嗎?
- 16. 不是所有的代碼路徑都返回一個值
- 17. 檢查是否所有EditText都爲空
- 18. 檢查所有字段是否有效的最佳方法是什麼?
- 19. 查看RadioButtonList是否具有選定值的最佳方法是什麼?
- 20. CYGWIN:所有路徑都是cygwin /格式,java不可以理解
- 21. 是否所有非抽象類都是最終的?
- 22. 是否所有JPEG文件都是JFIF?
- 23. 查找矩陣中是否有路徑?
- 24. 檢查路徑是否有效
- 25. Hpple-所有節點都是零
- 26. 用於編程競賽的最佳單源最短路徑算法是什麼?
- 27. 檢查所有表單值以查看它們是否爲空的最簡單方法是什麼C#?
- 28. 確定是否所有元素的數組是素數
- 29. 檢查是否所有的數組項都是空的PHP
- 30. 什麼是類路徑?
哇,我會說這是相當直接! – steinar 2011-04-01 23:48:43
簡短而高效,即使它不是非常詳細。不會做得比這更好。 – 2011-04-01 23:48:58
你的'全部? {| X | x}用'[1,false,'fish',:bicycle]做的方法''? – 2011-04-02 00:45:46