在 Ruby 中创建模块变量
有什么方法可以在 Ruby 的模块中创建一个行为类似于类变量的变量吗?我的意思是,无需初始化模块实例即可访问它,但它可以更改(与模块中的常量不同)。
Is there any way to create a variable in a module in Ruby that would behave similar to a class variable? What I mean by this is that it would be able to be accessed without initializing an instance of the module, but it can be changed (unlike constants in modules).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Ruby 本身支持模块中的类变量,因此您可以直接使用类变量,而不是某些代理或伪类变量:
Ruby natively supports class variables in modules, so you can use class variables directly, and not some proxy or pseudo-class-variables:
如果不需要从实例中调用它,则可以简单地在模块主体中使用实例变量。
实例变量
@param
将属于模块SomeModule
,它是Module
类的实例。If you do not need to call it from within an instance, you can simply use an instance variable within the module body.
The instance variable
@param
will then belong to the moduleSomeModule
, which is an instance of theModule
class.您可以在模块中设置类实例变量。
you can set a class instance variable in the module.
您还可以在模块定义中初始化值:
You can also initialize value within module definition: