Ruby 初心者スレッド Part 56©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0444406
2015/01/20(火) 21:53:24.90ID:tR2SZl1M#=> ["A", "B", "C", "D"]
ary2 = $Person_ary[0..-1]
go(ary2)
def go(per_ary)
combi = per_ary.combination(2)
combi.each_with_index do |p_ary, i|
# per_ary[0] → p_ary[0]は同じobject_id
per_0 = p_ary[0]
何でこの代入が(値は'A')、同じオブジェクトやねん!
これぐらい別のオブジェクトにしろよ
$Person_ary[0] → ary2 → per_ary[0]
→ p_ary[0] → per_0
なんと、これらがすべて同じobject_id
per_0 << 'B'
per_0には'A'が入っているが、
最後にこれらがすべて、'AB'に変わってしまう!
ここまですべてが同じオブジェクトだって、誰がわかる?
■ このスレッドは過去ログ倉庫に格納されています