सबसे पहले मैं इन तरीकों के बारे में दस्तावेजों में दो उपयोगी लेख नहीं मिले:रूबी का "कोई?" और सभी?" खाली सरणी पर तरीकों व्यवहार और हैश
- http://www.ruby-doc.org/core-1.9.3/Enumerable.html
- http://www.globalnerdy.com/2008/01/29/enumerating-rubys-enumerable-module-part-1-all-and-any/
सभी ?: के प्रत्येक तत्व पासेस दिए गए ब्लॉक में संग्रह। यदि ब्लॉक कभी झूठी या शून्य नहीं लौटाता है तो विधि सही होती है।
कोई भी ?: दिए गए ब्लॉक में संग्रह के प्रत्येक तत्व को पास करता है। यदि ब्लॉक कभी झूठी या शून्य के अलावा कोई मान देता है तो विधि सही होती है।
लेकिन खाली सरणियों और हैश के मामले में मुझे मिल गया:
irb(main):004:0> [nil, "car", "bus"].all?
=> false
irb(main):005:0> ["nil", "car", "bus"].all?
=> true
irb(main):006:0> [].all?
=> true
irb(main):007:0> ["nil", "car", "bus"].any?
=> true
irb(main):008:0> [nil, "car", "bus"].any?
=> true
irb(main):009:0> [nil].any?
=> false
irb(main):010:0> [].any?
=> false
किसी क्यों खाली सरणियों any?
विधि और all?
के मामले में true
के मामले में मुझे false
दे मुझे समझा सकते हैं?
गणितीय शर्तों में: 'कोई भी?' तार्किक का एक गुना है या जिसका पहचान तत्व 'झूठा' है। दूसरी तरफ 'सब?' तार्किक का एक गुना है और जिसका पहचान तत्व 'सत्य' है। http://en.wikipedia.org/wiki/Identity_element – tokland