麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

解析 ruby 全局變量

2020-10-29 19:47:30
字體:
來源:轉載
供稿:網友
 全局變量由$開頭.它們可以在程序的任何位置訪問到.在初始化前,全局變量有一個特殊的值 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 變量

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级免费黄色免费片 | 国产成人精品免费视频大全最热 | 99视频网址| 一级黄片毛片免费看 | 成人短视频在线观看免费 | 久久探花| 成人免费观看49www在线观看 | 免费一级特黄毛片视频 | 视频一区二区三区在线播放 | 涩涩伊人| 九一免费在线观看 | 欧美精品黄色 | 国产精品一区二区三区在线播放 | 在线免费观看日韩视频 | 精品1| 一区二区国产在线 | 国产资源在线免费观看 | 日韩深夜视频 | 337p日本欧洲亚洲大胆精蜜臀 | 亚洲性爰| 久久免费视频1 | 亚洲成人福利在线观看 | 91精品老司机 | 蜜桃av网 | 欧美ab | 亚洲日本韩国在线观看 | 中文字幕精品在线视频 | 一区二区三区播放 | 日韩毛片一区二区三区 | 视频一区免费观看 | 亚洲国产成人久久一区www妖精 | 午夜视频在线免费观看 | 主人在调教室性调教女仆游戏 | 国产日本在线 | 国产合集91合集久久日 | 天堂成人一区二区三区 | 国产成人综合在线观看 | 亚洲精品成人久久久 | 国产毛片自拍 | 日日噜噜噜噜久久久精品毛片 | 农村少妇吞精夜夜爽视频 |