[Ironruby-core] C# Overloads and IronRuby Classes

Shay Friedman lists at ruby-forum.com
Tue Jul 14 16:42:25 EDT 2009


Hi there,

The next scenario worked for me on older versions but now the behavior
changed and I'd like to know if the change is a bug or by design.

This is my C# code:
public class MyClass {
  public void A() { A(1); }
  public void A(int val) { A(val, "foo"); }
  public void A(int val, string str) { Console.WriteLine("{0} - {1}",
val, str); }
}

And now in IR:
class IronRubyRulez < MyClass; end
test = IronRubyRulez.new
test.a # Prints "1 - foo"
test.a(5) # Prints "5 - foo"
test.a(7, "boom") # Prints "7 - boom"

So far so good... but now I'd like to override the method "a":
class IronRubyRulez < MyClass
  def a
    super(12)
  end
end
test = IronRubyRulez.new
test.a # Error! wrong number of arguments (2 for 0)

This worked on older versions and resulted with "12 - foo".
Bug or by design?

Thanks!
Shay.
----------------------------
Shay Friedman
http://www.ironshay.com
Follow me: http://twitter.com/ironshay
-- 
Posted via http://www.ruby-forum.com/.


More information about the Ironruby-core mailing list