ruby 变量

时间:2022-06-02 00:15:53

Ruby有三类变量,一种常量和两种严格意义上的伪变量(pseudo-variables).变量和常量都没有类型.虽然无类型变量存在一定的缺点,但却有更多的优点并很好的符合Ruby快速简便(quickandeasy)的哲学精神.

在大多数语言里,变量都必须指定其类型,可更改性(是不是个常数)和范围;由于类型的不存在,剩下的东西也可由变量名字很快确定(你马上会看见),在Ruby里我们不需要变量声明.

由首字母标识符将其分类:

$全局变量

@实变量

[a-z]局部变量

[A-Z]常量

唯一的例外是Ruby的伪变量:self,它永远指向当前正执行着的对象或未初始化变量的空值(meaninglessvalue)nil.虽然这两者的命名都像是局部变量,但self却是个由解释器把持的全局变量,而nil实际上是个常量.既然只有这两种意外,他们并不会过多的干扰我们.

你并能向self或nil赋值.下面的例子中,main作为self的值,指向最高层的对象:

ruby>self

main

ruby>nil

nil