रूबी में यह लूप के लिए उपयोग करने के लिए खराब शैली है। यह आमतौर पर समझा जाता है। शैली मार्गदर्शिका में मेरे लिए सिफारिश की: (https://github.com/bbatsov/ruby-style-guide#source-code-layout) का कहना है:मैं रूबी में फॉर-लूप कैसे बदलूं?
"कभी, के लिए उपयोग जब तक आप जानते हैं कि वास्तव में क्यों समय iterators में से अधिकांश के लिए प्रत्येक के मामले में कार्यान्वित किया जाता है के बजाय इस्तेमाल किया जाना चाहिए (ताकि।। आप एक स्तर का संकेत जोड़ रहे हैं), लेकिन एक मोड़ के साथ - एक नया दायरा (प्रत्येक के विपरीत) पेश नहीं करता है और इसके ब्लॉक में परिभाषित चर इसके बाहर दिखाई देंगे। "
दिए गए उदाहरणहै:
arr = [1, 2, 3]
#bad
for elem in arr do
puts elem
end
# good
arr.each { |elem| puts elem }
मैं शोध किया है और मैं कैसे पाश है कि एक बार दोहराना मूल्य प्रदान करता है के लिए एक अनुकरण करने के लिए के रूप में एक विवरण नहीं मिल सकता है मैं स्थानों के लिए पास या पर गणित प्रदर्शन कर सकते हैं । उदाहरण के लिए, क्या साथ मैं जगह लेंगे:
for i in 0...size do
puts array1[i]
puts array2[size-1 - i]
puts i % 2
end
यह होगा कि यह एक सरणी है, लेकिन मैं अक्सर अन्य प्रयोजनों के लिए मौजूदा स्थिति की जरूरत है आसान है। या तो एक साधारण समाधान है जिसे मैं याद कर रहा हूं, या ऐसी स्थितियां जहां के लिए आवश्यक है। इसके अतिरिक्त, मैं लोगों को के बारे में के बारे में बात करता हूं जैसे कि इसकी आवश्यकता नहीं होती है। इसके बाद उनका समाधान क्या है?
क्या यह बेहतर हो सकता है? और समाधान क्या है, अगर कोई है? धन्यवाद।
मानते हैं कि 'array1' और' array2' का आकार समान है, इसे 'array2 [-1 - i]' के रूप में लिखना सर्वोत्तम है ताकि 'आकार' की गणना करने से बचें। – Borodin