On Mon, Apr 12, 2010 at 7:08 PM, Richard Leber <rleber / mindspring.com> wrote: > I am stumbling around some of the nuances of Ruby classes, especially in > regard to alias_method. Specifically, can someone explain to me why this > doesn't work: > > ¨Βμασσ > ¨Βεζ Α®ζο> Hello" > ¨Βξδ > ¨Βξδ > > ¨Β®σεξδ¨Ίαμιασίνετθοδ¬ ΊβαςΊζοο½Ύ ΞανεΕςςοςΊ υξδεζιξενετθοδ > `foo' for class `A' > > But this does: > > ¨Βμασσ > ¨Βεζ Α®ζο> Hello" > ¨Βξδ > ¨Βξδ > > ¨Βμασσ ΌΌ > ¨ΒμιασίνετθοΊβαςΊζοο > ¨Βξδ > > ¨Β®ζοο ½Ύ Θεμμ> ¨Β®βας ½Ύ Θεμμ> -- > Posted via http://www.ruby-forum.com/. > Well alias_method aliases instance methods, as foo is not an instance method of class A it cannot be aliased there. But as foo is an instance method of the singleton class of A (class << A) it can be aliased there. IOW class A def foo; 42 end end now foo is an instance method of A and not of (class << A) and thus your A.send... would work, as would A.module_eval do alias_ or class A alias_... end HTH Robert > -- Learning without thought is labor lost; thought without learning is perilous.--- Confucius