2012-12-18 20 views
15
def enumerate(arr): 
    (0..arr.length - 1).to_a.zip(arr) 

क्या इसके लिए कुछ बनाया गया है? इसे सदस्यों के अपरिवर्तनीय होने की आवश्यकता नहीं है, इसे केवल मानक पुस्तकालय में होना आवश्यक है। मैं ऐसे व्यक्ति बनना नहीं चाहता जो एक परियोजना में पाइथन सुविधा जोड़ने के लिए ऐरे क्लास को उप-वर्ग बनाता है।रूबी में पायथन की गणना?

क्या इसका रूबी में एक अलग नाम है?

%w(a b c).enumerate 
=> [[0, "a"], [1, "b"], [2, "c"], [3, "d"]] 

उत्तर

16

कुछ इस तरह:

a = ['do', 're', 'mi', 'fa'] 
for i, s in enumerate(a): 
    print('%s at index %d' % (s, i)) 

रूबी में इस हो जाता है:

a = %w(do re mi fa) 
a.each_with_index do |s,i| 
    puts "#{s} at index #{i}" 
end 
+1

'एक = 'फिर से करना मील पिता '.split() 'रूबी संस्करण – Antimony

6

मान लिया जाये कि यह गणन के लिए है, each_with_index ऐसा कर सकते हैं। या यदि आपके पास Enumerator है, तो बस with_index का उपयोग करें। अजगर में

4

हो सकता है कि एक तेज समाधान होगा:

%w(a b c).map.with_index {|x, i| [i, x] } 
+0

हे के करीब हो सकता है ... वह अधिक परिचित दिखता है';)'। – Droogans

संबंधित मुद्दे