概述
结论: 赋值 非 拷贝
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分别这两个变量
最后
以上就是隐形热狗为你收集整理的Ruby 奇怪的赋值问题的全部内容,希望文章能够帮你解决Ruby 奇怪的赋值问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复