网站首页ruby学习

ruby变量

发布时间:2015-09-05编辑:Vincent H阅读(258)

    Ruby 支持五种类型的变量:全局变量、局部变量、类变量、实例变量、常量


    全局变量以 $ 开头。未初始化的全局变量的值为 nil,在使用 -w 选项后,会产生警告。

    给全局变量赋值会改变全局状态,所以不建议使用全局变量。


    实例变量以 @ 开头。未初始化的实例变量的值为 nil,在使用 -w 选项后,会产生警告。

    类变量以 @@ 开头,且必须初始化后才能在方法定义中使用。

    引用一个未初始化的类变量会产生错误。类变量在定义它的类或模块的子类或子模块中可共享使用。

    在使用 -w 选项后,重载类变量会产生警告。


    局部变量以小写字母或下划线 _ 开头。局部变量的作用域从 class、module、def 或 do 到相对应的结尾或者从左大括号到右大括号 {}。

    当调用一个未初始化的局部变量时,它被解释为调用一个不带参数的方法。

    对未初始化的局部变量赋值也可以当作是变量声明。变量会一直存在,直到当前域结束为止。局部变量的生命周期在 Ruby 解析程序时确定。



    常量以大写字母开头。定义在类或模块内的常量可以从类或模块的内部访问,定义在类或模块外的常量可以被全局访问。

    常量不能定义在方法内。引用一个未初始化的常量会产生错误。对已经初始化的常量赋值会产生警告。


    还有一种伪变量:类似常量,无法赋值。

    self: 当前方法的接收器对象。

    true: 代表 true 的值。

    false: 代表 false 的值。

    nil: 代表 undefined 的值。

    __FILE__: 当前源文件的名称。

    __LINE__: 当前行在源文件中的编号。







    收录情况:百度已收录,点击查看详情
    本文地址:http://luvial.cn/content/10019.html
    转载请保留原文地址!

    如果您觉得本文对您有帮助,且您有经济能力,欢迎捐助本站
标签: ruby变量
上一篇:ruby 类、对象
下一篇:ruby特有的运算符