यूलर प्रोजेक्ट से समस्या 41 की कोशिश करते समय, मैंने Array.permutation के रूबी 1.9 कार्यान्वयन में एक बग प्रतीत होता है। यहाँ समस्या पृथक कोड है:रूबी 1.9 बग? - Array.permutation
n = 4
slice = '987654321'.chars.to_a[-n..-1]
puts "slice = #{slice.join}"
slice.permutation(n) {|perm| puts perm.join}
slice2 = slice.dup
puts "slice2 = #{slice2.join}"
slice2.permutation(n) {|perm| puts perm.join}
slice3 = []
(0...n).each {|i| slice3[i] = slice[i]}
puts "slice3 = #{slice3.join}"
slice3.permutation(n) {|perm| puts perm.join}
टुकड़ा और slice2 के लिए मेरे उत्पादन है:
slice = 4321
9876
9867
9786
9768
9687
...
हालांकि, slice3 अंक 1 से 4 permuted जा रहा है के साथ बाहर सही आता है,। इसके अलावा n = 4 पहला मान है जिसमें यह समस्या है। जब मैं n = 3 सेट करता हूं, तो मुझे अपेक्षित आउटपुट मिलता है। क्या यह एक बग है, या क्या मैं कुछ गलत कोडिंग कर रहा हूं? एक त्वरित Google खोज ने कुछ भी नहीं बदला।
मीठे, धन्यवाद! मेरा जापानी थोड़ा जंगली है ... कोई इंतजार नहीं, वह दूसरा शब्द क्या है? ओह, ठीक है, अस्तित्वहीन नहीं है। हालांकि मैं उस लिंक पर कोड से देख सकता हूं कि यह वही मुद्दा है। मैंने सोचा कि मैं इसे पहली बार नहीं देखूंगा, हालांकि मुझे बहुत याद नहीं आया। अब मुझे उत्सुकता है कि यह कैसे संभव है कि बग हुआ। मैं आंतरिक डेटा संरचनाओं की कल्पना नहीं कर सकता जो टुकड़ा सही लगने की अनुमति देगी, लेकिन क्रमपरिवर्तन गलत होने के लिए, और फिर भी तीन के टुकड़े के लिए ठीक हो। क्या इसके बारे में कोई अंग्रेजी भाषा चर्चा है? –