मैं सिर्फ रूबी को माफ़ी माँग रहा हूं अगर यह यहां के लिए बहुत नौसिखिया है, लेकिन मैं इसे पिकैक्स बुक से बाहर नहीं कर सकता (शायद बस पर्याप्त ध्यान से नहीं पढ़ रहा)। वैसे भी, अगर मैं तो जैसे एक सरणी है:रूबी में जब मैं इसे पुन: सक्रिय कर रहा हूं, तो मैं सरणी को कैसे संशोधित करूं?
arr = [1,2,3,4,5]
... और मुझे करने के लिए, मान लें, 3 से सरणी में प्रत्येक मान गुणा चाहते हैं, मैं बाहर काम किया है कि कर निम्नलिखित:
arr.each {|item| item *= 3}
... मुझे वह नहीं मिलेगा जो मैं चाहता हूं (और मैं समझता हूं कि क्यों, मैं सरणी को संशोधित नहीं कर रहा हूं)।
मुझे यह नहीं मिलता है कि इटरेटर के बाद कोड ब्लॉक के अंदर से मूल सरणी को कैसे संशोधित किया जाए। मुझे यकीन है कि यह बहुत आसान है। जगह में सरणी को संशोधित करने के
arr2 = arr.map {|item| item * 3}
उपयोग map!
:
यदि आपको वास्तव में प्रत्येक तत्व को संशोधित करने की आवश्यकता है, तो नक्शा का उपयोग करके निश्चित रूप से अधिक सुरुचिपूर्ण, imho होगा। – fresskoma
और यदि आप सरणी को संशोधित करना चाहते हैं तो मानचित्र का उपयोग करें! इसके बजाय –