如何在ruby中访问模块变量

时间:2014-12-27 00:56:27

标签: ruby-on-rails ruby

我是红宝石的新手所以我为noob问题道歉并感谢你的帮助。在ruby中我可以说我有一个这样的模块:

module foo 
 a = 1
 b = 2
end 

在代码中我有一个附加了变量foo_id的对象栏。

有一种简单的方法可以从对象栏上的foo_id中获取'a'或'b'吗?例如,做这样的事情:

foo.get(bar.foo_id) #--> returning 'a'

我真正想到的唯一想法是在模块中制作一个get方法,有没有更聪明的红宝石方法呢?谢谢!

2 个答案:

答案 0 :(得分:1)

你可以制作一个简单的哈希:

module Foo
  IDS = {1 => 'a', 2 => 'b'}
end

然后访问它:

Foo::IDS[bar.foo_id]

答案 1 :(得分:0)

沿着这些方向的东西应该可以解决问题

module Foo
  IDS = {1 => 'a', 2 => 'b'}
end

puts Foo::IDS[1] #=> a