|
|
1
2
不,但是变量范围不是这里的问题。location变量是方法的局部变量,因此不能由checktweets方法更改。没错。 然而,location变量引用的对象可以从checktweets方法中更改,这正是发生的事情(尽管我不得不说可变参数的样式非常糟糕)。 举例说明Ruby中的引用语义和突变:
在这里,变量foo没有被更改为引用另一个对象(从方法内部是不可能的),但是foo引用的对象已经被更改。同样的情况也发生在你的checktweets方法中。 |