Ruby 变量与方法使用指南
1. 变量使用
在 Ruby 编程中,合理使用变量至关重要,不同类型的变量有不同的使用场景和注意事项。
1.1 用常量替代类变量
可以使用常量来替代类变量,常量在类层次结构中能较为合理地工作。例如:
class A
C = 1
end
class B < A
C # 1
end
当在子类中设置常量时,只会改变子类中的常量值,不会影响父类:
class B
C = 2
end
class B
C # 2
end
class A
C # 1
end
不过,使用常量替代类变量也有缺点。改变常量的值时,Ruby 会发出警告:
class B
C += 1 # warning
end
而且,不能在方法内使用标准语法设置常量,需要使用 Module#const_set :
class B
def increment
self.class.const_set(:C, C + 1)
end
end
虽然可以通过使用可变常量来绕过常量重新赋值的警告,但这并不是一个好的实现方法:
超级会员免费看
订阅专栏 解锁全文
953

被折叠的 条评论
为什么被折叠?



