質問があります.
ruby は全ての変数がオブジェクト(インスタンス)で、
変数の代入は参照渡しなので
「メソッドに変数(インスタンス)の参照を渡して,
メソッドの中でそのインスタンスの内容を変えてもらう」が
できると思います. 実際できますね.

とろこが, 以下の code で, 変数の内容が変わってくれないのはなぜでしょうか?
Java とかと違い Integer もオブジェクトで, 参照渡しなのでできると期待していました.
しかし, 以下のメソッド inc で, 引数にもらったインスタンスの内容を変えることができませんが,
なぜでしょうか?
#--------
def inc i # Integer 型のインスタンスの参照をもらう
i += 1 # もらったインスタンスの中身を変えてしまう
end

j = 7
print j, "\n" # これは 当然 7 と表示される.
inc j
print j, "\n" # これは 8 と表示されて欲しいが, 7 と表示される.
#--------