14

我刚刚开始在 Ruby 中使用常量。

我有

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

我想要做

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

但它说

undefined method ‘each’ for Constants::module

……

有没有一种迭代常量列表的好方法?

4

1 回答 1

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

Constants.constants.each do |c|
  puts "#{c}: #{Constants.const_get(c)}"
end
#=> "C1: foo"
#=> "C2: bar"
于 2011-07-15T20:12:55.397 回答