我正在尝试 Ruby,但无法理解某些事情。我有一些课:
class Some_class
def method_a
var = '123'
method_b(var)
end
def method_b(var)
...
return var
end
end
method_b 更改 var 并返回它(如果需要,类似于 md5 哈希)。这是我误解的事情:
如果我这样做
def method_a
var = '123'
method_b(var)
method_b(var)
b = method_b(var)
return (b == var)
end
然后 method_a 返回 true。我必须做 .dup 来避免它。为什么会这样?Ruby 中的方法也是对象,而 var 仅包含 method_b 上的链接?还是发生了别的事情?
谢谢你,对不起我的英语,那不是我的母语。