Method definition with explicitly callable method names
There are many cases to expect that arguments should respond to a/some methods like this:
def call_foo(arg) if !(arg.respond_to(:to_s) and arg.respond_to(:to_a) and arg.respond_to(:readpartial)) raise ArgumentError, "interface mismatch" end end
This is very frequent pattern, and I'm very happy to write this code in very short lines like this:
def call_foo(arg|to_s,to_a,readpartial) # ... end
This feature looks very useful and have space to analyze statically and to optimize dynamically.
And, there may be possibility to allow to have method overriding.
What do you think about this idea?