最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析 ruby 全局變量

 更新時(shí)間:2007年11月24日 14:18:34   作者:  
 全局變量由$開(kāi)頭.它們可以在程序的任何位置訪問(wèn)到.在初始化前,全局變量有一個(gè)特殊的值 nil.

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


應(yīng)謹(jǐn)慎使用全局變量.由于在任何地方都可以被寫因此他們相當(dāng)危險(xiǎn).濫用全局變量會(huì)導(dǎo)致很難隔離臭蟲;同時(shí)也視為程序的設(shè)計(jì)未經(jīng)嚴(yán)格考慮.當(dāng)你發(fā)現(xiàn)必須要使用全局變量時(shí),記得給它一個(gè)不會(huì)在其它地方一不小心就用到的描述性名字(像上面那樣叫$foo可能不是一個(gè)好想法).

全局變量的好處是其可以被跟蹤;你可以做一個(gè)當(dāng)變量值改變時(shí)被調(diào)用的過(guò)程.

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


當(dāng)一個(gè)全局變量(改變時(shí))作為一個(gè)過(guò)程的激發(fā)器,我們也管它叫活動(dòng)變量(active variable).比如說(shuō),它可用于保持GUI顯示的更新.

這里列出了一些以$打頭并跟單個(gè)字符的特殊變量.比如,$$包含了Ruby解釋器的進(jìn)程id,它是只讀的.這里是主要的系統(tǒng)變量以及它們的含義(細(xì)節(jié)可在Ruby的參考手冊(cè)中查到):

$!  最近一次的錯(cuò)誤信息 
$@  錯(cuò)誤產(chǎn)生的位置 
$_  gets最近讀的字符串  
$.  解釋器最近讀的行數(shù)(line number) 
$&  最近一次與正則表達(dá)式匹配的字符串 
$~  作為子表達(dá)式組的最近一次匹配  
$n  最近匹配的第n個(gè)子表達(dá)式(和$~[n]一樣)  
$=  是否區(qū)別大小寫的標(biāo)志  
$/  輸入記錄分隔符 
$\  輸出記錄分隔符 
$0  Ruby腳本的文件名 
$*  命令行參數(shù) 
$$  解釋器進(jìn)程ID 
$?  最近一次執(zhí)行的子進(jìn)程退出狀態(tài) 

上面的 $_ 和 $~ 都有作用范圍.它們的名字暗示其為全局的,但它們一般都是這樣用的,關(guān)于它們的命名有歷史上的原因.  
 

相關(guān)文章

最新評(píng)論

平原县| 康马县| 密云县| 民和| 独山县| 靖宇县| 辽中县| 景宁| 崇信县| 双江| 望谟县| 大荔县| 剑阁县| 望奎县| 元朗区| 沙坪坝区| 郧西县| 河津市| 会理县| 洪洞县| 班戈县| 湖口县| 青川县| 鄂温| 望城县| 于都县| 张家界市| 灵武市| 石首市| 咸阳市| 抚顺市| 葫芦岛市| 建湖县| 湛江市| 盐津县| 客服| 尉犁县| 青海省| 闽侯县| 沾化县| 石楼县|