【发布时间】:2012-02-25 14:01:08
【问题描述】:
伙计们,我正在学习 ruby,最近从 JAVA 搬来。在 JAVA 中,我可以将类的成员变量设为静态,并且该成员变量在类的实例中将保持不变。我如何在红宝石中达到同样的效果。我在我的红宝石课上做了这样的事情:
class Baseclass
@@wordshash
end
到目前为止,这似乎在我测试它时达到了目的,即@@wordhash 在 Baseclass 的实例中保持不变。我的理解是否正确。
另外,我想在类中有一个成员方法,它等效于 JAVA 中的静态方法(我不需要类的实例来访问它)。我怎样才能做到这一点?例如,我想在基类中有一个方法,如 getwordshash(),它返回 @@wordshash,并且该方法的用户不必创建 Baseclass() 的实例。所以像这样:
class Baseclass
@@wordshash
#static or class method
def getwordhash()
return @@wordshash
end
end
然后我可以像这样使用它
#without making an instance
@hash = Baseclass.getwordhash()
如果这是一个非常幼稚的问题,我深表歉意,我对 ruby 真的很陌生,但学习起来很兴奋。
【问题讨论】:
标签: ruby-on-rails ruby