From: Daniel Finnie Date: 2006-12-04T11:37:16+09:00 Subject: method overloading like Java? In Java, you could write the following code: public void foo(int x) { /* do something*/ } public void foo(String x) { /* do something*/ } int x1 String x2 foo(x1) foo(x2) The 2nd to last line would call the first foo and the last line would call the 2nd foo. Is there a way to do this in Ruby? I am aware of method(*args) and case...when but I think Java's version is cleaner and more readable. I also know that variables in Ruby are dynamically typed, the method that is called should be based on the most recent type of the variable being passed. I don't want to do this: def foo(arg) if arg.type_of? String # do something elsif arg.type_of? Numeric #do something else raise args error end end thanks, Dan