>>794
質問者への返答としては、>>791が FA(Final Answer) でいいんじゃないかと。

まとめると、Rubyの場合は、原始的(primitive)なオブジェクト(たとえばFixnum)は
即値(immediate value)であり、それらはメソッド呼び出しの際には値渡し(call by value)される。
その他のオブジェクト(たとえばArray)は即値ではなく、
メソッド呼び出しの際にはオブジェクトへの参照が渡される。つまり参照渡し(call by reference)される。

Cとは異なり、純粋OOPであるRuby(あるいは元祖であるSmalltalk)には、
アドレス(ポインタ)という概念がそもそも存在していないことに注意すべき。
C++やJavaのように、手続き型言語に後付けでOO機能を継ぎ足した言語は、
アドレスと(オブジェクトへの)参照が複雑に絡み合っているので、(厳密な意味論の)解釈は非常に難解なものになった。
ただし、だからといって、そんなC++/Java流の解釈をRubyに当てはめようとするのは無茶苦茶であるとしか言えない。

# 率直に言って、「Rubyはすべて値渡しである」と間違った自我流の解釈を押し付けようとする
# >>776,784のカキコ(同一人物?)は迷惑に感じる。(ぶっちゃければウザイの一言)