Ruby 初心者スレッド Part 40
■ このスレッドは過去ログ倉庫に格納されています
0762デフォルトの名無しさん
2011/02/02(水) 12:31:49で(a = a + 1)、実引数のほうは変化していないので値渡しだと言っているのには
ちょっと違和感を感じます。
後述に、Arrayオブジェクトを例に出して、参照の値渡しの話をしていますが、
これだと、まるでFixnumオブジェクトの場合は、同じ値の新しいオブジェクトを作って
それを渡す値渡しで(Fixnumでは値が同じで異なるオブジェクトというのはない気はしますが)、
Arrayオブジェクトだと参照の値渡しになると言っている感じがします。
まだRubyを学び始めて間もないので、私の勘違いかもしれませんが、皆さんはどう
思われますか?
Rubyist Magazine - 値渡しと参照渡しの違いを理解する
http://jp.rubyist.net/magazine/?0032-CallByValueAndCallByReference
def foo(a, b) # a, b を「仮引数」という
a += 1
b += 2 # a と b を変更する
end
x = 10
y = 20
foo(x, y) # x, y を「実引数」という
puts x #=> 10 # 変更されてない
puts y #=> 20 # 変更されてない
■ このスレッドは過去ログ倉庫に格納されています