/ / .Each कोड ब्लॉक में कैसे जोड़ें - रूबी-ऑन-रेल, रूबी, सरणियाँ

एक .each कोड ब्लॉक के भीतर कैसे जोड़ें - रूबी-ऑन-रेल, रूबी, सरणी

रूबी सरणी में मेरे 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 }