一、全局变量
ruby中支持全局变量,ruby中的全局变量有如下几个特点:
1)标识符以$开头标记
2)全局变量可以在程序的任何地方加以引用
3)全局变量无需提前进行变量声明。引用尚未初始化的全局变量时,其值为 nil。
我们下面来看例子
class Demo def print puts $a end end puts $a #引用未声明的全局变量,$a这时值为nil demo = Demo.new demo.print #类方法中引用未声明的全局变量,$a这时值为nil $a=12 demo.print #输出为12,因为这时$a已经有值了
需要说明的是,在实际编码中我们尽量不要自己定义全局变量,使用全局变量是非常不好的一个编程方式。
二、常量
ruby中的常量,必须在类中定义,不能定义到方法中,常量标识符的首字母必须大写。
举例:
class Demo Pi = 3.14 def print puts Pi end end #创建对象,调用对象的方法 puts Demo::Pi demo = Demo.new demo.print Demo::Pi = 4 #会有警告,但不会出错,而且修改能生效 demo.print
注意,和其它语言区别的是。常量的值可以在类的外部被修改 (不能在类的方法中被赋值修改),虽然会报警告,但不会出错。