Error:

Create empty array

# literal
arr = []
# constructor
arr = Array.new()

Create array with elements

# literal
arr = [1, 2, 3]
# Constructor
arr = Array.new(3, 1) # [1, 1, 1]

Get number of elements in the array

arr = [1, 2, 3]
total = arr.length # 3
count = arr.length # 3

Check if array is empty

arr = []
b = arr.empty? # => true

Join elements of the array with string

['1', '2', '3'].join('/') # => '1/2/3'

Remove particular value from the array

arr = [7, 8, 9]
arr.delete(8) # arr is [7, 9]

Remove element at index from the array

arr = [7, 8, 9]
arr.delete_at(2) # arr is [7, 8]

Remove last element from the array

arr = [7, 8, 9]
arr.pop() # => 9
arr       # => [7, 8]

Remove first element from the array

arr = [7, 8, 9]
arr.shift() # => 7
arr         # => [8, 9]

Add element to the end of the array

arr = [7, 8, 9]
arr.push(10) # => [7, 8, 9, 10]
arr << 11    # => [7, 8, 9, 10, 11]

Add element to the beginning of the array

arr = [7, 8, 9]
arr.unshift(10) # => [10, 7, 8, 9]

Get subarray of the array

arr = [7, 8, 9, 10, 11]
arr[2..3] # => [9, 10]
arr.slice(-3, 2) # => [9, 10]

Replace subarray of the arary with another array

arr = [7, 8, 9, 10, 11]
arr2 = [0, 1, 2]
arr.slice!(2, 2)
arr.insert(2, *arr2)
arr # => [7, 8, 0, 1, 2, 11]

Iterate over all elements of the array

[0, 1, 2].each do |el|
    puts "--> #{el}"
end

Get unique elements of the array

arr = [1, 1, 2, 2, 3, 3]
arr.uniq # => [1, 2, 3]
arr # => [1, 1, 2, 2, 3, 3]
arr.uniq!
arr # => [ 1, 2, 3]

Get difference between two arrays

[1, 2, 3, 4] - [3, 4, 7, 8] # => [1, 2]

Get intersection of two arrays

[1, 2, 3, 4] & [3, 4, 7, 8, 4] # => [3, 4]

Get union of two arrays

[1, 2, 3, 4] | [3, 4, 7, 8, 4] # => [1, 2, 3, 4, 7, 8]

Append one array to another

[1, 2] + [2, 3] # => [1, 2, 2, 3]
a = ['a', 'b']
a += [2, 3] # a is ['a', 'b', 2, 3]

Reverse the array

arr = [1, 2, 3]
arr.reverse # => [3, 2, 1]
arr # => [1, 2, 3]
arr.reverse! # => [3, 2, 1]
arr # => [3, 2, 1]

Find first element of the array that passes test

arr = [1, 2, 3, 4, 5]
arr.index { |x| x % 2 == 0 }  #=> 1

Find last element of the array that passes test

arr = [1, 2, 3, 4, 5]
arr.rindex { |x| x % 2 == 0 }  #=> 3

Find all elements of the array that pass test

arr = [1, 2, 3, 4, 5]
arr.find_all { |x| x % 2 == 0 }  #=> [2, 4]

Sort the array

arr = ["t", "e", "s", "t"]
arr.sort # => ["e", "s", "t", "t"]
arr # => ["t", "e", "s", "t"]
arr.sort! # => ["e", "s", "t", "t"]
arr # => ["e", "s", "t", "t"]

Sort the array using compare function

arr = ["1", "2", "10", "11"]
# lexical
arr.sort { |x,y| x <=> y } # => ["1", "10", "11", "2"]
# numerical
arr.sort { |x,y| x.to_i <=> y.to_i } # => ["1", "2", "10", "11"]

Shuffle the array

[1, 2, 3, 4].shuffle

Map elements of the array

[1,2,3,4].map { |x| x*x } # => [1, 4, 9, 16]

Check if the array contains the element

[1, 2, 3, 4].include?(5) #=> false
[1, 2, 3, 4].include?(3) #=> true

Find maximum number in the array

[1, 5, 2, 3].max # => 5

Find minimum number in the array

[1, 5, -2, 3].min # => -2