Pav*_* K. 2 ruby pointers reference
我有以下代码:
def mymethod(a)
a.replace("a")
end
mystring = "b"
mymethod(mystring)
p mystring # => "a"
Run Code Online (Sandbox Code Playgroud)
但我想用Integer执行相同的操作
那可能吗?
简答:不.
答案很长:不,这是不可能的.Integer是一个类型原语,足以不具有状态(和状态修改操作).整数上的每个操作都会生成一个新整数.
可能,如果您下降到C级别,您可以就地修改基础值.但我不确定.无论如何,这似乎是一种矫枉过正和错误的事情.