ruby - 如何在不创建新对象实例的情况下将 Integer 变量递增 X

标签 ruby

如何在不创建新对象实例的情况下将 Integer 变量递增 X?

+= 不起作用,因为:

ree-1.8.7-2010.02 > x = 1
1
ree-1.8.7-2010.02 > x.object_id
3
ree-1.8.7-2010.02 > x += 1
2
ree-1.8.7-2010.02 > x.object_id
5

最佳答案

你不能。不是在 Ruby 中,也不是在我所知道的任何其他编程语言中。

表示数学数字 1 的对象将始终具有值 1。将表示数学数字 1 的对象突变为突然具有值 2 简直是疯了,因为现在突然 1 + 1 == 4

关于ruby - 如何在不创建新对象实例的情况下将 Integer 变量递增 X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4256228/

相关文章:

ruby - cucumber 步骤定义局部变量被重新使用?

ruby - 为什么类是类的实例,而不是对象的实例?

ruby - 是否可以在 ruby​​/tk 中使用 unicode 字符?

ruby - 使用 Faraday 通过 Unix 套接字发出 HTTP 请求

javascript - 单击按钮时执行 Ruby on Rails 代码

ruby - 如何以编程方式生成类似 Heroku 的子域名?

ruby - `nil` .to_i #=> 0`, ` "".to_i #=> 0` `nil` .to_f#=> 0. 0`, ` "".to_f#=> 0.0` 的用例

ruby-on-rails - ActiveRecord 查询过滤嵌套模型

ruby - rvm 重置默认值

ruby - 正则表达式如何从括号中提取单词