一個(gè)實(shí)變量由@開頭,它的范圍限制在 self 對(duì)象內(nèi).兩個(gè)不同的對(duì)象,即使屬于同一個(gè)類,也可以擁有不同值的實(shí)變量.從對(duì)象外部來看,實(shí)變量不能改變甚至觀察(比如, Ruby的實(shí)變量從來不是公用的),除非方法由程序員明確聲明.像全局變量一樣,實(shí)變量在初始前的值是nil.
Ruby的實(shí)變量用不著聲明.這暗含著對(duì)象的彈性結(jié)構(gòu).實(shí)際上,每個(gè)實(shí)變量都是在第一次出現(xiàn)時(shí)動(dòng)態(tài)加入對(duì)象的.
ruby> class InstTest
| def set_foo(n)
| @foo = n
| end
| def set_bar(n)
| @bar = n
| end
| end
nil
ruby> i = InstTest.new
#<0x83678>
<0x83678>
<0x83678>
新聞熱點(diǎn)
疑難解答
圖片精選