26 Mar '13, 3pm


In MRI the Hash class is core and written in C. In particular, methods are programmed with explicit C function calls and polymorphism is not honored. For example, []= is crucial in this implementation to maintain the @keys array but hash.c invokes rb_hash_aset() originally. This prevents method reuse through inheritance and forces us to reimplement stuff. For instance, we cannot use the inherited merge! because albeit the algorithm itself would work, our []= is not being called at all by the C code.

Full article: http://api.rubyonrails.org/classes/ActiveSupport/OrderedH...


@bonty ActiveSupport の拡張です

apidock.com 28 Mar '13, 9am

Equal to self[41] . Also known as accessing “the reddit”. Show source # File activesupport/lib/active_support/core_ext/arr...