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 F.
http://www.ironshay.com
Follow me: http://twitter.com/ironshay