Hi --

On Wed, 7 Mar 2001, Brian F. Feldman wrote:

> David Alan Black <dblack / candle.superlink.net> wrote:
> >[skipping non-code... :)]
> >   class Thing
> >     def mone
> >       puts "hi"
> >     end
> > 
> >     def mtwo(a)
> >       puts "bye"
> >     end
> > 
> >     superclass.instance_methods - instance_methods .each do |m|
> 
> For what it's worth, this will only "seem to" work.  It won't give you an 
> error because the #each method will return the original object and you can 
> of course subtract to Arrays like that.  It won't actually pass a modified 
> Array to the #each call though, only "instance_methods" itself.

Right y'are.  And it's all backwards anyway.  And Thing's superclass
doesn't have any instance methods.  And I've abandoned this project
:-)

But just for closure, how about:

  class Thing < String
    def thing
  # Note subtle switch of operand order here :-)
      for m in Thing.instance_methods - Thing.superclass.instance_methods
	puts m.to_s
      end
    end
  end

  Thing.new("").thing
   => thing


David

-- 
David Alan Black
home: dblack / candle.superlink.net
work: blackdav / shu.edu
Web:  http://pirate.shu.edu/~blackdav