From: WATANABE Hirofumi Date: 2006-01-10T12:39:15+09:00 Subject: [ruby-dev:28215] Re: alias で別名付けできないメソッドがある? わたなべです。 KIMURA Koichi writes: > Regexp クラスのcompileメソッドを再定義しようとして > > class Regexp > alias orig_compile compile > end > > とすると、 > > NameError: undefined method `compile' for class `Regexp' > > となります(ruby 1.9.0 2006-01-05 mswin32)。 compileはクラスメソッドなので class << Regexp alias orig_compile compile end とする必要があります。 > エラーになる/ならないの境界はどこにあるのでしょうか? クラスメソッドかインスタンスメソッドの違いです。 > また、エラーになるのが正しいとしても、undefined method というのは > 適切ではないと思いますがいかがでしょうか。 なので一応エラーメッセージは適切だと思います。 -- わたなべひろふみ