indexable.rb

Path: lib/core/facets/indexable.rb
Last Update: Sat Feb 23 07:11:38 +0000 2019

Indexable is a mixin that provides index based methods, working solely with four methods: index, slice, splice and size.

These methods work in harmony. Where index returns a position of a given element, slice returns elements for given positions. splice is like slice but replaces the given position with new values. This method is not part of ruby core, but it generally just an alias for #[]=, just as slice is an alias of #[]. size of course simply returns the total length of the indexable object.

NOTE: To test the following methods Indexable needs to be included into Array and array must have splice defined.

  require 'facets/array/splice'

  class ::Array
    include Indexable
  end

CREDIT: Thomas Sawyer

[Validate]