作用域
作用域指的是变量的生命空间或者说作用范围。不同类型的变量有不同的作用域。本章主要讲两种,全局变量(Global)和局部变量(Local)。
全局作用域和全局变量
全局作用域指的是能够覆盖整个应用程序运行期(从应用程序开始运行到结束)。全局变量的生命周期是全局作用域。
全局变量以一个美元符号($)开头,在整个应用程序运行期,任何地方都可以使用全局变量。但是稍微有经验的人都知道,应该尽量少的使用全局变量,以减少空间的占用。
内建的全局变量
ruby解释器在开始运行的时候初始化了一部分全局变量,在应用程序的任何地方都可以调用这些内建全局变量。
比如‘$0’代表的是所运行应用程序的文件名称;‘$:’代表的是默认的文件搜索路径;'$$'代表的是ruby程序的进程id。
---------------------------------------------------------------------------------------------------------------------
$! 最近一次的错误信息
$@ 错误产生的位置
$_ gets最近读的字符串
$. 解释器最近读的行数(line number)
$& 最近一次与正则表达式匹配的字符串
$~ 作为子表达式组的最近一次匹配
$n 最近匹配的第n个子表达式(和$~[n]一样)
$= 是否区别大小写的标志
$/ 输入记录分隔符
$\ 输出记录分隔符
$0 Ruby脚本的文件名
$* 命令行参数
$$ 解释器进程ID
$? 最近一次执行的子进程退出状态
----------------------------------------------------------------------------------------------------------------------
本地作用域
本地作用域存在于下面几种情况中:
1.最顶级的程序。---我的理解是main程序。
2.类和模块。
3.方法。