Rubyのメソッドは値渡し

オブジェクトIDのね。参照渡しのつもりでやってたらミスった。何をしたかというと、

def foo(flag)
flag = false
end

flag = true
foo(flag)
p flag

みたいなことをしたわけですよ。こっちは参照渡しな感覚で書いているから、flagは書き換えられると思ってしまったわけですよ。そしたら、メソッドの中ではID2がID0に書き換えられただけで、元のflagの値には影響がなかったという。ちうわけで、ちょっとロジック変更です。