Actions
Feature #12145
openAliashood between `size` and `length` is not consistent
Status:
Open
Assignee:
-
Target version:
-
Description
When size
and length
have the same implementation, depending on the class, they are either independently defined methods, or the former is an alias of the latter. Particularly for Array
:
[].method(:size).original_name # => :length
[].method(:length).original_name # => :length
but for Hash
, String
, and Symbol
:
{}.method(:size).original_name # => :size
{}.method(:length).original_name # => :length
"".method(:size).original_name # => :size
"".method(:length).original_name # => :length
:"".method(:size).original_name # => :size
:"".method(:length).original_name # => :length
This might be a big issue, but since there is a standard Ruby method original_name
, which returns different results, whether this being one way or another should matter. And I see no reason why they should behave differently. They should be unified in one way. Perhaps Hash
, String
, and Symbol
should be made in the same way as with Array
.
Actions
Like0
Like0Like0