关于变量
@cart = Cart.new 和 cart = Cart.new 这两个变量有什么区别吗,什么时候用实例变量,什么时候用局部变量?o(╯□╰)o
[解决办法]
如果单从你上面的例子很难区别出两者有什么区别,都是实例化一个对象然后保存在变量里。
如果你把这两者放在一个Class里比较,区别就出来了。局部变量作用域名只作用在局部。比如一个method。而实例相当于class的一个属性。
class Cart
def initialize
@var = "test"
end
def var
@var
end
end
cart = Cart.new
cart.var # test
如果你把@var 换成 var 你可以试试还做的到吗?