Ruby有三類變量,一種常量和兩種嚴(yán)格意義上的偽變量(pseudo-variables).變量和常量都沒有類型.雖然無類型變量存在一定的缺點(diǎn),但卻有更多的優(yōu)點(diǎn)并很好的符合Ruby快速簡便(quick?and?easy)的哲學(xué)精神.
在大多數(shù)語言里,變量都必須指定其類型,可更改性(是不是個(gè)常數(shù))和范圍;由于類型的不存在,剩下的東西也可由變量名字很快確定(你馬上會(huì)看見),在Ruby里我們不需要變量聲明.
由首字母標(biāo)識(shí)符將其分類:
$??????????全局變量??
@??????????實(shí)變量?
[a-z]??????局部變量?
[A-Z]??????常量?
唯一的例外是Ruby的偽變量:self,它永遠(yuǎn)指向當(dāng)前正執(zhí)行著的對(duì)象或未初始化變量的空值(meaningless?value)nil.雖然這兩者的命名都像是局部變量,但?self?卻是個(gè)由解釋器把持的全局變量,而?nil?實(shí)際上是個(gè)常量.既然只有這兩種意外,他們并不會(huì)過多的干擾我們.
你并能向?self?或?nil?賦值.下面的例子中,?main作為?self?的值,指向最高層的對(duì)象:
ruby>?self
???main
ruby>?nil
???nil?
版權(quán)聲明:RUBY文檔中心的所有文章標(biāo)明[原創(chuàng)]的均為本站作品,版權(quán)屬RUBY中文化計(jì)劃,若轉(zhuǎn)載請(qǐng)注明;標(biāo)明[翻譯]的其外文版權(quán)歸原作者,譯文版權(quán)屬RUBY中文化計(jì)劃;標(biāo)明[轉(zhuǎn)貼]的,若原作者感到侵犯了他的著作權(quán),那么請(qǐng)及時(shí)跟主持人聯(lián)系,我們會(huì)盡快更正。
?