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