Malte Milatz wrote: > That's something I encounter often, too. It' especially tiresome when > trying to figure out how undocumented methods work - or when I've > forgotten in which order arguments have to be given (example: > alias_method). Though extensive use of hashes as parameters would be > terribly verbose, it would be very easy to read, because it's easier to > know what is happening - provided that the keys used have got sensible > names. That happens to me too. That's why I hope that with Ruby 2, Matz makes it so that every method's parameters are named by default so for: def send_data(data, to) # ... end you could call it as: send_data(the_data, "bob") or send_data(to: "bob", data: the_data) This would be especially useful when the function parameters are not obviously named: send_data(to: ARGV[1], data: ARGV[3]) If you know the method well and know the order of parameters well, you could just use them in order. If you want to be explicit about them, you can use the keyword params. I think this would be the most useful implementation, but I'm not sure how easy it is. Ben