如何在Ruby中執行此操作?
例如,在紅寶石:類似於變量的引用
a = [1,2,3]
h= {vara: a}
p h[:vara] # [1,2,3]
a = [42,43,44]
p h[:vara] # [1,2,3] - still the same
哈希示出雖然我已經改變a
相同的結果(陣列[1,2,3]
)。
對於這個例子,我想在a
改變哈希顯示了不同的結果:
a = [1,2,3]
h= {vara: a}
p h[:vara] # [1,2,3]
a = [42,43,44]
p h[:vara] # [42,43,44] - changed!
如何做,在一般的情況下 - 沒有指定變量,也不容器(在上面的例子中的散列)是什麼嗎?
例如,++可以使用參考的C:
#include <iostream>
#include <stdlib>
int main(void)
{
int a = 10;
int &var = a;
std::cout<< "\na = "<< a <<"\n";
a = 42;
std::cout<< "\nnew var = " << var << "\n"; //
std::cout<< "\nnew a = " << a << "\n";
system("pause");
return 0;
}
會產生:
a = 10
new var = 42
new a = 42
有沒有這樣的事情在Ruby?
http://stackoverflow.com/questions/8345755/object-assignment-in-ruby – steenslag
@steenslag這與我的問題有何聯繫? –