一個實變量由@開頭,它的范圍限制在 self 對象內.兩個不同的對象,即使屬于同一個類,也可以擁有不同值的實變量.從對象外部來看,實變量不能改變甚至觀察(比如, Ruby的實變量從來不是公用的),除非方法由程序員明確聲明.像全局變量一樣,實變量在初始前的值是nil.
Ruby的實變量用不著聲明.這暗含著對象的彈性結構.實際上,每個實變量都是在第一次出現時動態加入對象的.
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>
新聞熱點
疑難解答
圖片精選