[英]how to access module variables in ruby
我是红宝石的新手,因此对菜鸟的问题深表歉意,并感谢您的帮助。 在ruby中,可以说我有一个像这样的模块:
module foo
a = 1
b = 2
end
否则在代码中,我有一个对象栏,其中附加了变量foo_id。
有没有一种简单的方法可以从对象栏的foo_id中获取“ a”或“ b”? 例如,执行以下操作:
foo.get(bar.foo_id) #--> returning 'a'
我真正想到的唯一想法是在模块中创建一个get方法,是否有更聪明的方法来实现呢? 谢谢!
您可以进行简单的哈希处理:
module Foo
IDS = {1 => 'a', 2 => 'b'}
end
然后访问它:
Foo::IDS[bar.foo_id]
遵循这些思路可以解决问题
module Foo
IDS = {1 => 'a', 2 => 'b'}
end
puts Foo::IDS[1] #=> a
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.