[Ironruby-core] Annoymous class extending a module doesn't return expected kind_of

Stefan Dobrev stefan.dobrev at gmail.com
Mon Oct 6 02:29:15 EDT 2008


There was a discussion about this some time ago.

Here it is:
http://rubyforge.org/pipermail/ironruby-core/2008-September/002874.html
The reported bug is here:
http://rubyforge.org/tracker/?func=detail&aid=21995&group_id=4359&atid=16798

Stefan.

2008/10/6 Ben Hall <ben2004uk at googlemail.com>

> Hi guys,
>
> I've been bashing my head again this problem for the last few days
> where the object I expected wasn't passed around, tonight I decided to
> break it down and focus on a much small part.  Turns out, I was
> looking in the wrong part.
>
> This is what I think the problem is. The code is creating an anonymous
> class which is extending a module.  The code then does a kind_of? to
> decide what to do with it.
>
> >From what I can tell, it looks like the kind_of doesn't recognize the
> modules it is extending.  This is the code which demonstrates the
> problem:
>
> Code Repro:
> module AAA
>   class << self
>     def a
>      puts "Hello"
>     end
>   end
>
>  def myAAA
>    klass = Class.new do
>        extend AAA
>    end
>
>    puts "Am I a type of what I extended (AAA)?"
>    puts klass.kind_of?(AAA)
>  end
> end
>
> class XYZ
>  include AAA
> end
>
> $a = XYZ.new
> $a.myAAA
>
>
> With MRI, true is returned.  With IronRuby, false is returned.
>
> Output:
>
> E:\IronRuby\trunk\build\debug>ruby array_test
> Am I a type of what I extended (AAA)?
> true
>
> E:\IronRuby\trunk\build\debug>ir array_test
> Am I a type of what I extended (AAA)?
> false
>
>
> This has blocked me moving on.  Anyone got any ideas?
>
> Any help on this would be great!
>
> Thanks
>
> Ben
> Blog.BenHall.me.uk
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20081006/c4c19f33/attachment.html>


More information about the Ironruby-core mailing list