ruby - 将原始数据类型的引用传递给 ruby​​ 中的函数

标签 ruby

默认情况下,ruby 传递原始值的副本和对象类型的引用。如何将 primitive 类型变量(例如:整数、 float )的引用传递给函数?

最佳答案

Ruby 不通过引用传递参数:

def change(x)
  x = 2  # this assigns to a local variable 'x'
end

a = 1
change(a)
a #=> 1

您可以改为传递一个可变对象,例如“包含”整数的散列:

def change(h)
  h[:x] = 2
end

h = {x: 1}
change(h)
h[:x] #=> 2

关于ruby - 将原始数据类型的引用传递给 ruby​​ 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22222750/

相关文章:

ruby-on-rails - Rails check_box_tag 如何在 ajaxily 检查时传递值

mysql - 浏览器显示 MySQL 错误,我没有列

ruby-on-rails - gem install therubyracer -v 0.11.4 在 OS X 10.10 上失败

ruby-on-rails - Ruby on Rails 捆绑命令不起作用

ruby - Rubocop 规则在下一行进行赋值时强制双缩进

ruby-on-rails - ruby on rails - 1 个错误禁止保存此列表 : Image has contents that are not what they are reported to be

ruby-on-rails - 无法将自定义字段添加到 Ruby on Rails 中的 Devise 模型。私有(private)方法错误

ruby - 通过 ruby​​2.0.0 在 Windows 上安装 iconv 时出错

javascript - TypeScript 从另一个项目/模块导入类?

mysql - 如何在mySQL搜索中搜索独立的单词?