2011-07-15 14 views
14

मैं रूबी में स्थिरांक का उपयोग शुरू कर रहा हूं।रूबी: कॉन्स्टेंट्स के माध्यम से इटरेटिंग

मैं

module Constants 
    C1 = "foo" 
    C2 = "bar" 
end 

मैं

Constants.each do |c| 
    #do something with each one 
end 

करना चाहते हैं, लेकिन यह कहता है

undefined method ‘each’ for Constants::module 

....

वहाँ बार-बार दोहराना का एक अच्छा तरीका है स्थिरांक की एक सूची के माध्यम से?

+0

इस प्रश्न के लिए एक उपयोगी लिंक: http://stackoverflow.com/questions/2309255/how-do-i-get-constants-defined-by-rubys-module-class-via-reflection। –

उत्तर

35
module Constants 
    C1 = "foo" 
    C2 = "bar" 
end 

Constants.constants.each do |c| 
    puts "#{c}: #{Constants.const_get(c)}" 
end 
#=> "C1: foo" 
#=> "C2: bar" 
+0

टाइपो कॉन्स्टेंट => कॉन्स्टेंट –

+0

@ रे टोल, हाँ, धन्यवाद – fl00r

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