为了账号安全,请及时绑定邮箱和手机立即绑定

Ruby-是按引用还是按值分配参数?

Ruby-是按引用还是按值分配参数?

繁星点点滴滴 2019-12-13 15:10:17
我不明白为什么他们说 Ruby按值传递所有参数,同时以下代码证明了相反的情况:class MyClass1  @var1 = 123  def get1    @var1  end  def set1=value    @var1 = value  endendc1 = MyClass1.newc1.set1 = 444p c1.get1 # 444def test1 mc  mc.set1 = 999endtest1 c1p c1.get1 # 999如果按值显示,它将打印出来444,而不是999。
查看完整描述

3 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

同意100%。有趣的是,Chuck在此处使用的同一示例显示Ruby是按值传递(他的定义),而我将用来显示Ruby是按引用传递(我的定义)。将来,我将避免在Ruby中对按值传递/引用进行全面声明,这似乎会使人们更加困惑。



查看完整回答
反对 回复 2019-12-14
?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

是的,我完全理解为什么您会这样称呼。您对“按引用传递”的定义与现实世界中人们编程的方式更加相关。但不幸的是,我们被困在半个世纪的计算机科学文献中,并且整个教育系统仍然使用旧的定义,因此,我认为让人们知道“如果您阅读“通过引用”一词,可能不是在谈论Ruby。”

查看完整回答
反对 回复 2019-12-14
  • 3 回答
  • 0 关注
  • 551 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信