专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Ruby/Rails

ruby 方法到底是按值传递还是按引用解决方法

发布时间:2011-06-29 18:44:21 文章来源:www.iduyao.cn 采编人员:星星草
ruby 方法到底是按值传递还是按引用
def pref1(agr)  
  agr.downcase!
end

a1 = 'HELLO'
pref1(a1)
puts "#{a1}" #输出 hello

def pref2(agr)
  agr.downcase
end


a2 = 'PREF2'
pref2(a2)
puts "#{a2}" #输出 PREF2

def pref3(a,b)
  a,b = b,a
end

a,b = 1,2
pref3(a,b)
puts a,b #输出 1,2

def pref4(agr)
  agr.replace('aaaaa')
end

a4 = 'a'
pref4(a4)
puts a4 #输出 aaaaa

 

 

 

ruby 函数到底是按值传递还是按引用???

------解决方案--------------------
传递, 因为值的范围只作用方法内。

引用, 是全局变量。
------解决方案--------------------
一般的scalar类型是按值传递的,hash和array是按引用传递,在方法中修改后也会改变原来的内容
myList = %w [ 1 2 3]

def swap(list)
list.reverse!
end

swap(myList)
------解决方案--------------------
downcase downcase!方法不一样。 一切都是对象。自然都是按引用传递的啊。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: