ruby 变量
网络编程
Ruby有三类变量,一种常量和两种严格意义上的伪变量(pseudo-variables).变量和常量都没有类型.虽然无类型变量存在一定的缺点,但却有更多的优点并很好的符合Ruby快速简便(quick and easy)的哲学精神.
在大多数语言里,变量都必须指定其类型,可更改性(是不是个常数)和范围;由于类型的不存在,剩下的东西也可由变量名字很快确定(你马上会看见),在Ruby里我们不需要变量声明.
由首字母标识符将其分类:
$ 全局变量
@ 实变量
[a-z] 局部变量
[A-Z] 常量
唯一的例外是Ruby的伪变量:self,它永远指向当前正执行着的对象或未初始化变量的空值(meaningless value)nil.虽然这两者的命名都像是局部变量,但 self 却是个由解释器把持的全局变量,而 nil 实际上是个常量.既然只有这两种意外,他们并不会过多的干扰我们.
你并能向 self 或 nil 赋值.下面的例子中, main作为 self 的值,指向最高层的对象:
ruby> self
main
ruby> nil
nil
在大多数语言里,变量都必须指定其类型,可更改性(是不是个常数)和范围;由于类型的不存在,剩下的东西也可由变量名字很快确定(你马上会看见),在Ruby里我们不需要变量声明.
由首字母标识符将其分类:
$ 全局变量
@ 实变量
[a-z] 局部变量
[A-Z] 常量
唯一的例外是Ruby的伪变量:self,它永远指向当前正执行着的对象或未初始化变量的空值(meaningless value)nil.虽然这两者的命名都像是局部变量,但 self 却是个由解释器把持的全局变量,而 nil 实际上是个常量.既然只有这两种意外,他们并不会过多的干扰我们.
你并能向 self 或 nil 赋值.下面的例子中, main作为 self 的值,指向最高层的对象:
ruby> self
main
ruby> nil
nil
解析 ruby 全局变量
全局变量由$开头.它们可以在程序的任何位置访问到.在初始化前,全局变量有一个特殊的值nil.ruby$foonilruby$foo=55ruby$foo5应谨慎使用全局变量.由于在任何地
ruby 实变量
一个实变量由@开头,它的范围限制在self对象内.两个不同的对象,即使属于同一个类,也可以拥有不同值的实变量.从对象外部来看,实变量不能改变甚至观
ruby 局部变量
局部变量由小写字母或下划线(_)开头.局部变量不像全局和实变量一样在初始化前含nil值.ruby$foonilruby@foonilrubyfooERR:(eval):1:undefinedlocalvariableormethod`foo'formain
编辑:一起学习网
标签:变量,常量,全局变量,局部,对象