如何在Ruby中使用不同的object_id初始化对象?

时间:2011-12-26 09:34:11

标签: ruby initialization

如果我使用a = b = c = []

这样的作业初始化对象

然后这些变量具有相同的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)

但它不能用不同的 object_ids初始化a,b,c变量

有没有办法用不同的对象id初始化变量a,b,c但是具有相同的值== []?

2 个答案:

答案 0 :(得分:8)

这些可能的解决方案如何:

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

答案 1 :(得分:2)

这个怎么样?

a = []
b = []
c = []