• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    解析 ruby 全局变量
     全局变量由$开头.它们可以在程序的任何位置访问到.在初始化前,全局变量有一个特殊的值 nil.

    ruby> $foo
       nil
    ruby> $foo = 5
       5
    ruby> $foo
       5  


    应谨慎使用全局变量.由于在任何地方都可以被写因此他们相当危险.滥用全局变量会导致很难隔离臭虫;同时也视为程序的设计未经严格考虑.当你发现必须要使用全局变量时,记得给它一个不会在其它地方一不小心就用到的描述性名字(像上面那样叫$foo可能不是一个好想法).

    全局变量的好处是其可以被跟踪;你可以做一个当变量值改变时被调用的过程.

    ruby> trace_var :$x, proc{print "$x is now ", $x, "\n"}
       nil
    ruby> $x = 5
    $x is now 5
       5  


    当一个全局变量(改变时)作为一个过程的激发器,我们也管它叫活动变量(active variable).比如说,它可用于保持GUI显示的更新.

    这里列出了一些以$打头并跟单个字符的特殊变量.比如,$$包含了Ruby解释器的进程id,它是只读的.这里是主要的系统变量以及它们的含义(细节可在Ruby的参考手册中查到):

    $!  最近一次的错误信息 
    $@  错误产生的位置 
    $_  gets最近读的字符串  
    $.  解释器最近读的行数(line number) 
    $  最近一次与正则表达式匹配的字符串 
    $~  作为子表达式组的最近一次匹配  
    $n  最近匹配的第n个子表达式(和$~[n]一样)  
    $=  是否区别大小写的标志  
    $/  输入记录分隔符 
    $\&; 输出记录分隔符 
    $0  Ruby脚本的文件名 
    $*  命令行参数 
    $$  解释器进程ID 
    $?  最近一次执行的子进程退出状态 

    上面的 $_ 和 $~ 都有作用范围.它们的名字暗示其为全局的,但它们一般都是这样用的,关于它们的命名有历史上的原因.  
     
    您可能感兴趣的文章:
    • Ruby的面向对象方式编程学习杂记
    • Ruby的面向对象编程的基础教程
    • Ruby面向对象编程详解
    • ruby 面向对象思维 概念
    • ruby 学习笔记(2) 类的基本使用
    • ruby 类常量 解析
    • Ruby 中$开头的全局变量、内部变量、隐藏变量介绍
    • ruby 局部变量
    • ruby 变量
    • 简要解读Ruby面向对象编程中的作用域
    上一篇:ruby 变量
    下一篇:ruby 实变量
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    解析 ruby 全局变量 解析,ruby,全局,变量,解析,