Issue #12157 has been updated by Jeremy Evans.


An option hash is just an optional argument with a default value of the empty hash. You can't really remove options hashes unless you remove optional arguments or disallow using a hash as a default value for an optional argument, neither of which seems like a good idea.  Can you clarify what exactly you are proposing?

----------------------------------------
Feature #12157: Is the option hash necessary for future Rubys?
https://bugs.ruby-lang.org/issues/12157#change-57386

* Author: Colin Fulton
* Status: Open
* Priority: Normal
* Assignee: 
----------------------------------------
Option hashes were great before Ruby had named arguments, but with the addition of named arguments and the double splat operator are they still needed?

One can convert named arguments into an option hash by using the double splat operator in the parameter list, so option hashes are redundant. More importantly, the existence of both option hashes and named arguments is creating odd or ugly edge cases. See #12022, #10708, and #11860. Legacy software can mostly be updated using a double splatted parameter, so it shouldn't be a hard shift to make.

What do you all think?

_Apologies if this discussion has happened before. I searched for a bit but couldn't turn anything up._



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>