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)
2
ruby> i
#<insttest:0x83678 @foo=2>
ruby> i.set_bar(4)
4
ruby> i
#<insttest:0x83678 @foo=2, @bar=4>
注意上例中直到调用了 set_bar方法 i 才报告 @bar 的值.