def foo
"foo"
end
alias foo2 foo
puts "foo2: " + foo2.object_id.to_s
puts "foo: " + foo.object_id.to_s
上記の例では、同じメソッドを参照しているため、メソッド呼び出しごとに同じ object_id 出力が表示されると予想していました。異なる object_id が表示されるのはなぜですか? Ruby でメソッドにエイリアスを設定すると、エイリアスはコピーではなく元のオブジェクトを参照しますか?