作用域

作用域指的是变量的生命空间或者说作用范围。不同类型的变量有不同的作用域。本章主要讲两种,全局变量(Global)和局部变量(Local)。
全局作用域和全局变量
全局作用域指的是能够覆盖整个应用程序运行期(从应用程序开始运行到结束)。全局变量的生命周期是全局作用域。
全局变量以一个美元符号($)开头,在整个应用程序运行期,任何地方都可以使用全局变量。但是稍微有经验的人都知道,应该尽量少的使用全局变量,以减少空间的占用。
内建的全局变量
ruby解释器在开始运行的时候初始化了一部分全局变量,在应用程序的任何地方都可以调用这些内建全局变量。
比如‘$0’代表的是所运行应用程序的文件名称;‘$:’代表的是默认的文件搜索路径;'$$'代表的是ruby程序的进程id。
---------------------------------------------------------------------------------------------------------------------

$!  最近一次的错误信息

$@  错误产生的位置

$_  gets最近读的字符串 

$.  解释器最近读的行数(line number)

$&  最近一次与正则表达式匹配的字符串

$~  作为子表达式组的最近一次匹配 
$n 最近匹配的第n个子表达式(和$~[n]一样)

$=  是否区别大小写的标志 

$/  输入记录分隔符

$\  输出记录分隔符

$0  Ruby脚本的文件名

$*  命令行参数

$$  解释器进程ID

$?  最近一次执行的子进程退出状态

----------------------------------------------------------------------------------------------------------------------


本地作用域
本地作用域存在于下面几种情况中:
1.最顶级的程序。---我的理解是main程序。
2.类和模块。
3.方法。

posted @ 2011-05-07 21:42  Lipton  阅读(215)  评论(0编辑  收藏  举报