2011-12-26 43 views
0

如果我初始化對象與像a = b = c = []如何在Ruby中使用不同的object_id初始化對象?

分配那麼這個變量具有相同object_ids:a.object_id == b.object_id == c.object_id

我也試過:

[a, b, c].map {|e| e = [] } 

a, b, c = Array.new(3, []) 

a, b, c = Array.new(3, Array.new) 

但doensn't初始化A,B,C變量與不同 object_ids

有沒有辦法用不同的對象i初始化變量a,b,c ds但具有相同的值== []?

回答

2

這個怎麼樣?

a = [] 
b = [] 
c = [] 
+0

我想刪除多條線路與[]在我的代碼分配,這就是爲什麼我張貼了這個問題。 – 2011-12-26 09:40:28

+0

@sharipov_ru:然後看到另一個答案。 – 2011-12-26 11:26:14

+0

你有多少這樣的線?超過三個暗示代碼味道。 – 2011-12-26 11:49:56

8

如何對這些可能的解決方案:

a,b,c=[],[],[] 
a,b,c=(0..2).map{[]} 
a,b,c=Array.new(3){[]} 
+0

酷!非常感謝! – 2011-12-26 14:45:55

相關問題