私は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 のリンクだけが含まれていますか? それとも何か他のことが起こっていますか?
母国語ではない英語で申し訳ありません。