メソッドの中でどんな好き勝手引数の値を変更しても、メソッドに渡す前のトップレベルで定義されているsnackの値は変わらないと思い込んでたけど、そうではない。 Rubyは値渡しだが、初級者がひっかかりやすいのは参照の値渡し(共有渡し) 引数に渡す前の変数がかわってしまうという挙動を見て、参照渡しなのか?と思ってRubyistMagazineで調べたら、 Ruby (や多くのプログラミング言語) は値渡しである。 と明確に書かれているが、 初級者が特にひっかりやすい「参照の値渡し」 とも書かれていて見事にひっかかってました。 ■object_idで確認 rubyのオブジェクトに実装されているobject_idメソッドを使うと、オブジェクト固有のidを取得できる。これによって同じオブジェクトを参照しているのか、別のオブジェクトを参照しているのか確認できる。 ■参照の値渡しサンプル # 'test

