我还在学习 Ruby,我很好奇在这种情况下使用类变量、常量还是局部变量是否合适。
在我下面的代码示例(从固定字符集中生成随机用户名)中,分配@username
为实例变量是相当明显的。但我很好奇我应该将字符集分配为常量还是类变量。在这种情况下使用另一种变量类型有什么好处?
在当前示例中,_charset
在每个实例中计算 。(如果我的假设是错误的,请纠正我。)我还假设计算将在实例之间共享(而不是重新计算)作为类变量和常量?
class NewAccount
def initialize
@username = self.generate_username
end
def generate_username
_charset = ('a'..'z').to_a + ('0'..'9').to_a
_newusername = Array.new(20) { _charset[rand(_charset.length)] }.join
return _newusername
end
end