ruby 實變數

来源:互联网 发布:php移动文件函数 编辑:程序博客网 时间:2024/06/03 23:41
一個實變數由@開頭,它的範圍限制在 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 
#<InstTest:0x83678> 
ruby> i.set_foo(2) 

ruby> i 
#<InstTest:0x83678 @foo=2> 
ruby> i.set_bar(4) 

ruby> i 
#<InstTest:0x83678 @foo=2, @bar=4> 

注意上例中直到調用了 set_bar方法 i 才報告 @bar 的值.
0 0
原创粉丝点击