首页 > 其他 > 详细

ruby的变量浅谈

时间:2014-11-13 02:11:45      阅读:248      评论:0      收藏:0      [点我收藏+]
a = 1
puts "a = #{a}; a.object_id: #{a.object_id}" # =》 a = 1; a.object_id: 3
def abc(a)
  puts "a = #{a}; a.object_id: #{a.object_id}" # =》 a = 1; a.object_id: 3
  a = 2
  puts "a = #{a}; a.object_id: #{a.object_id}" # =》 a = 2; a.object_id: 5
end

abc(a)
puts "a = #{a}; a.object_id: #{a.object_id}" # =》 a = 1; a.object_id: 3

?在ruby的一个方法内,如上图abc方法,变量a作为参数传进来,这时在方法abc内部,参数a代表着一个指向变量a的指针,所以她的object_id是3,但是当赋值操作产生的时候,参数a由一个指向其他变量的指针类型,变成了一个int类型的变量。所以这时a的object_id为5.当方法运行完成后,参数a的生命周期结束。在方法外,变量a并没有消失,值也没有变。

ruby的变量浅谈

原文:http://wudixiaotie.iteye.com/blog/2155117

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!