Ruby有 3类变量,
![](/icons/94848yi.gif)
种常量和两种严格意义上
![](/icons/94848de.gif)
伪变量(pseudo-variables).变量和常量都没有类型.虽然无类型变量存在
![](/icons/94848yi.gif)
定
![](/icons/94848de.gif)
缺点,但却有更多
![](/icons/94848de.gif)
优点并很好
![](/icons/94848de.gif)
符合Ruby快速简便(quick and easy)
![](/icons/94848de.gif)
哲学精神.
在大多数语言里,变量都必须指定其类型,可更改性(是不是个常数)和范围;由于类型
![](/icons/94848de.gif)
不存在,剩下
![](/icons/94848de.gif)
东西也可由变量名字很快确定(你马上会看见),在Ruby里我们不需要变量声明.
由首字母标识符将其分类:
$ 全局变量
@ 实变量
[a-z] 局部变量
[A-Z] 常量
唯
![](/icons/94848yi.gif)
![](/icons/94848de.gif)
例外是Ruby
![](/icons/94848de.gif)
伪变量:self,它永远指向当前正执行着
![](/icons/94848de.gif)
对象或未
![](/icons/94848chushi.gif)
化变量
![](/icons/94848de.gif)
空值(meaningless value)nil.虽然这两者
![](/icons/94848de.gif)
命名都像是局部变量,但 self 却是个由解释器把持
![](/icons/94848de.gif)
全局变量,而 nil 实际上是个常量.既然只有这两种意外,他们并不会过多
![](/icons/94848de.gif)
干扰我们.
你并能向 self 或 nil 赋值.下面
![](/icons/94848de.gif)
例子中,
![](/icons/94848main.gif)
作为 self
![](/icons/94848de.gif)
值,指向最高层
![](/icons/94848de.gif)
对象:
ruby> self
![](/icons/94848main.gif)
ruby> nil
nil
延伸阅读
最新评论