It is raised when the arguments are wrong and there isn't a more specific exception class.
[1, 2, 3].first(4, 5)
Is an ordered collection of objects called elements
ary = Array.new #=> []
Array.new(3) #=> [nil, nil, nil]
Array.new(3, true) #=> [true, true, true]
These are first class objects in ruby
class Name
# some code describing the class behavior
end
Raised when encoutering an object when it is not of the expected type.
[1, 2, 3].first("two")