首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

Ruby 奇怪的赋值有关问题

2012-08-22 
Ruby 奇怪的赋值问题结论: 赋值 非 拷贝?Ruby1.9.3?例1??a [1,2,3]b a ? ? ? ? ? ? #只是引用,不是拷

Ruby 奇怪的赋值问题

结论: 赋值 非 拷贝

?

Ruby1.9.3

?

例1

?

?

a = [1,2,3]

b = a ? ? ? ? ? ? #只是引用,不是拷贝

a << 4

puts a #=> [1,2,3,4]

puts b #=> [1,2,3,4]

?

?

例2

?

?

a = [1,2,3]

b = a ? ? ? ? ? ??

b << 4

puts a #=> [1,2,3,4]

puts b #=> [1,2,3,4]

?

例3

?

a = [1,2,3]

b = a

b = [] ?#=> []

a ?#=> [1,2,3] ? ? ?#赋空值的时候,两者是不同步的

?

原因: b = [] 操作是新建一个变量b,这个b已经不是刚才的b,可通过b.object_id分别这两个变量

?

?

?

?

热点排行