रूबी सरणी में मेरे 8 लेनदेन हैं(@ लेन-देन) और प्रत्येक लेन-देन का एक नंबर मूल्य होता है जो उनसे जुड़ा होता है जिसे मुझे एक नंबर प्राप्त करने के लिए जोड़ना होता है, प्रत्येक लेनदेन का योग है। मैं एक नंबर को एक साथ जोड़ने के लिए एक कोड ब्लॉक का उपयोग कैसे कर सकता हूं? कुल प्राप्त करने के लिए सबसे अच्छा तरीका है?
@transactions.each do | t |
# ??
end
उत्तर:
उत्तर № 1 के लिए 4पटरियों पर रूबी एक है sum
समारोह:
@transactions.sum { |t| t.number_value }
या यदि आप अतिरिक्त संक्षिप्तता चाहते हैं
@transactions.sum(:number_value)
जवाब के लिए 2 № 2
नीचे का उपयोग के रूप में करते हैं Enumerable#reduce
:
@transactions.reduce(0) { |sum,ob| sum + ob.number_val }
उत्तर № 3 के लिए -1
कोड के नीचे प्रयास करें। हालाँकि इस प्रश्न का उत्तर बहुत पहले दिया जा सकता था। सवाल पोस्ट करने से पहले आपको एक बार गूगल कर लेना चाहिए।
@transaction.inject(0){|sum,x| sum + x.number_value }