Class: Array

Inherits:
Object
  • Object
show all
Defined in:
lib/array_utils.rb

Instance Method Summary collapse

Instance Method Details

#[]=(index_or_range, length = nil, value) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/array_utils.rb', line 6

def []=(index_or_range, length = nil, value)
  if length.nil?
    if index_or_range.is_a?(Integer) && index_or_range >= size
      push(value)
    elsif index_or_range.is_a?(Range)
      original_set(index_or_range, value) # Handle range assignment
    else
      original_set(index_or_range, value)
    end
  else
    original_set(index_or_range, length, value) # Handle slice assignment
  end
end

#original_setObject



4
# File 'lib/array_utils.rb', line 4

alias_method :original_set, :[]=

#split_by_parityArray

Partitions an array of integers based on parity (odd or even property)

Returns:

  • (Array)

    An nested array of odd and even numbers.

Raises:

  • (TypeError)


23
24
25
26
27
# File 'lib/array_utils.rb', line 23

def split_by_parity
  raise TypeError, "Expected only numbers" unless all?(Numeric)

  partition(&:odd?)
end